+++ /dev/null
-package org.argeo.slc.core.structure.tree;\r
-\r
-import java.util.List;\r
-import java.util.Vector;\r
-\r
-import org.apache.commons.logging.Log;\r
-import org.apache.commons.logging.LogFactory;\r
-\r
-import org.argeo.slc.core.structure.StructureAware;\r
-import org.argeo.slc.core.structure.StructureElement;\r
-import org.argeo.slc.core.structure.StructurePath;\r
-import org.argeo.slc.core.structure.StructureRegistry;\r
-\r
-public class TreeSRegistry implements StructureRegistry {\r
- private static Log log = LogFactory.getLog(TreeSRegistry.class);\r
-\r
- private List<TreeSElement> elements = new Vector<TreeSElement>();\r
- private List<TreeSPath> paths = new Vector<TreeSPath>();\r
- private String mode = StructureRegistry.ALL;\r
-\r
- private List<StructurePath> activePaths;\r
-\r
- public List<StructureElement> listElements() {\r
- return new Vector<StructureElement>(elements);\r
- }\r
-\r
- public void register(StructureElement element) {\r
- TreeSElement treeSElement = checkElement(element);\r
- elements.add(treeSElement);\r
- paths.add((TreeSPath) treeSElement.getPath());\r
- log.debug("Registered " + treeSElement.getPath() + " (desc: "\r
- + treeSElement.getDescription() + " position: "\r
- + elements.size() + ")");\r
- }\r
-\r
- public void register(StructureAware structureAware) {\r
- register(structureAware.getElement());\r
- structureAware.onRegister(this);\r
- }\r
-\r
- public StructureElement getElement(StructurePath path) {\r
- int index = paths.indexOf(path);\r
- if (index >= 0) {\r
- return elements.get(index);\r
- } else {// not found\r
- return null;\r
- }\r
- }\r
-\r
- protected TreeSElement checkElement(StructureElement element) {\r
- if (!(element instanceof TreeSElement)) {\r
- throw new RuntimeException("Element class " + element.getClass()\r
- + " is not supported.");\r
- }\r
- return (TreeSElement) element;\r
- }\r
-\r
- public String getMode() {\r
- return mode;\r
- }\r
-\r
- public void setMode(String mode) {\r
- this.mode = mode;\r
- }\r
-\r
- public List<StructurePath> getActivePaths() {\r
- return activePaths;\r
- }\r
-\r
- public void setActivePaths(List<StructurePath> activePaths) {\r
- this.activePaths = activePaths;\r
- }\r
- \r
- \r
-}\r