]> git.argeo.org Git - gpl/argeo-suite.git/blob - org.argeo.app.core/src/org/argeo/app/acr/terms/TermContent.java
Revert loading of XSD
[gpl/argeo-suite.git] / org.argeo.app.core / src / org / argeo / app / acr / terms / TermContent.java
1 package org.argeo.app.acr.terms;
2
3 import java.util.Iterator;
4
5 import javax.xml.namespace.QName;
6
7 import org.argeo.api.acr.Content;
8 import org.argeo.api.acr.NamespaceUtils;
9 import org.argeo.api.acr.spi.ContentProvider;
10 import org.argeo.api.acr.spi.ProvidedSession;
11 import org.argeo.api.app.Term;
12 import org.argeo.cms.acr.AbstractContent;
13
14 public class TermContent extends AbstractContent {
15 private TermsContentProvider provider;
16 private Term term;
17
18 public TermContent(ProvidedSession session, TermsContentProvider provider, Term term) {
19 super(session);
20 this.provider = provider;
21 this.term = term;
22 }
23
24 @Override
25 public Iterator<Content> iterator() {
26 return term.getSubTerms().stream().map((t) -> (Content) new TermContent(getSession(), provider, t)).iterator();
27 }
28
29 @Override
30 public ContentProvider getProvider() {
31 return provider;
32 }
33
34 @Override
35 public QName getName() {
36 return NamespaceUtils.unqualified(term.getName());
37 }
38
39 @Override
40 public Content getParent() {
41 Term parentTerm = term.getParentTerm();
42 return parentTerm == null ? new TypologyContent(getSession(), provider, term.getTypology())
43 : new TermContent(getSession(), provider, parentTerm);
44 }
45
46 }