1 package org
.argeo
.app
.acr
.terms
;
3 import java
.util
.Iterator
;
5 import javax
.xml
.namespace
.QName
;
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
;
14 public class TermContent
extends AbstractContent
{
15 private TermsContentProvider provider
;
18 public TermContent(ProvidedSession session
, TermsContentProvider provider
, Term term
) {
20 this.provider
= provider
;
25 public Iterator
<Content
> iterator() {
26 return term
.getSubTerms().stream().map((t
) -> (Content
) new TermContent(getSession(), provider
, t
)).iterator();
30 public ContentProvider
getProvider() {
35 public QName
getName() {
36 return NamespaceUtils
.unqualified(term
.getName());
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
);