1 package org
.argeo
.cms
.acr
.directory
;
3 import java
.util
.ArrayList
;
4 import java
.util
.Dictionary
;
5 import java
.util
.Iterator
;
8 import javax
.xml
.namespace
.QName
;
10 import org
.argeo
.api
.acr
.Content
;
11 import org
.argeo
.api
.acr
.ContentName
;
12 import org
.argeo
.api
.acr
.spi
.ProvidedSession
;
13 import org
.argeo
.api
.cms
.directory
.CmsDirectory
;
14 import org
.argeo
.api
.cms
.directory
.HierarchyUnit
;
16 class DirectoryContent
extends AbstractDirectoryContent
{
17 private CmsDirectory directory
;
19 public DirectoryContent(ProvidedSession session
, DirectoryContentProvider provider
, CmsDirectory directory
) {
20 super(session
, provider
);
21 this.directory
= directory
;
25 Dictionary
<String
, Object
> doGetProperties() {
26 return directory
.getProperties();
30 public Iterator
<Content
> iterator() {
31 List
<Content
> res
= new ArrayList
<>();
32 for (Iterator
<HierarchyUnit
> it
= directory
.getDirectHierarchyUnits(false).iterator(); it
.hasNext();) {
33 res
.add(new HierarchyUnitContent(getSession(), provider
, it
.next()));
35 return res
.iterator();
39 public QName
getName() {
40 return new ContentName(directory
.getName());
44 public Content
getParent() {
45 return provider
.getRootContent(getSession());
48 @SuppressWarnings("unchecked")
50 public <A
> A
adapt(Class
<A
> clss
) {
51 if (clss
.equals(HierarchyUnit
.class))
53 if (clss
.equals(CmsDirectory
.class))
55 return super.adapt(clss
);