1 package org
.argeo
.cms
.acr
.directory
;
3 import java
.util
.ArrayList
;
4 import java
.util
.Iterator
;
7 import javax
.xml
.namespace
.QName
;
9 import org
.argeo
.api
.acr
.Content
;
10 import org
.argeo
.api
.acr
.ContentName
;
11 import org
.argeo
.api
.acr
.spi
.ContentProvider
;
12 import org
.argeo
.api
.acr
.spi
.ProvidedSession
;
13 import org
.argeo
.cms
.acr
.AbstractContent
;
14 import org
.argeo
.osgi
.useradmin
.HierarchyUnit
;
15 import org
.argeo
.osgi
.useradmin
.UserDirectory
;
17 class DirectoryContent
extends AbstractContent
{
18 private UserDirectory directory
;
19 private DirectoryContentProvider provider
;
21 public DirectoryContent(ProvidedSession session
, DirectoryContentProvider provider
, UserDirectory directory
) {
23 this.provider
= provider
;
24 this.directory
= directory
;
28 public ContentProvider
getProvider() {
33 public Iterator
<Content
> iterator() {
34 List
<Content
> res
= new ArrayList
<>();
35 for (Iterator
<HierarchyUnit
> it
= directory
.getRootHierarchyUnits(false).iterator(); it
.hasNext();) {
36 res
.add(new HierarchyUnitContent(getSession(), provider
, it
.next()));
38 return res
.iterator();
42 public QName
getName() {
43 return new ContentName(directory
.getName());
47 public Content
getParent() {
48 return provider
.getRootContent(getSession());