package org.argeo.slc.core.structure.tree;
import java.util.List;
import java.util.Vector;
import org.argeo.slc.core.structure.StructureAware;
import org.argeo.slc.core.structure.StructureElement;
import org.argeo.slc.core.structure.StructureRegistry;
/**
* Default implementation of TreeSAware
for tree based
* registries, using TreeSPath
. Convenient to be wrapped in
* classes which cannot extend it.
*/
public class DefaultTreeSAware implements TreeSAware {
private StructureElement element;
private List children = new Vector();
public StructureElement getElement() {
return element;
}
public void setElement(StructureElement element) {
this.element = element;
}
public void onRegister(StructureRegistry registry) {
for (StructureAware sAware : children) {
registry.register(sAware.getElement());
sAware.onRegister(registry);
}
}
public void addToPropagationList(StructureAware sAware) {
children.add(sAware);
}
public List getPropagationList() {
return children;
}
}