]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc/src/main/java/org/argeo/slc/ant/SAwareArg.java
2d34f8405bbf176d8bc36cb295242dc24bae6ba5
[gpl/argeo-slc.git] / org.argeo.slc / src / main / java / org / argeo / slc / ant / SAwareArg.java
1 package org.argeo.slc.ant;
2
3 import org.argeo.slc.ant.spring.AbstractSpringArg;
4 import org.argeo.slc.core.structure.tree.DefaultTreeSAware;
5 import org.argeo.slc.core.structure.tree.TreeSElement;
6
7 public abstract class SAwareArg extends AbstractSpringArg {
8 private DefaultTreeSAware parentSAware;
9
10 @Override
11 protected Object getBeanInstance() {
12 Object obj = super.getBeanInstance();
13
14 if (obj instanceof DefaultTreeSAware && parentSAware!=null) {
15 DefaultTreeSAware sAware = (DefaultTreeSAware) obj;
16 TreeSElement parentElement = (TreeSElement) parentSAware
17 .getElement();
18 String name = getBean() + parentElement.getChildren().size();
19 TreeSElement element = parentElement.createChild(name,
20 getDescription() != null ? getDescription()
21 : "<no bean desc>");
22 sAware.setElement(element);
23
24 parentSAware.addChild(sAware);
25 }
26 return obj;
27 }
28
29 public void setParentSAware(DefaultTreeSAware parentSAware) {
30 this.parentSAware = parentSAware;
31 }
32
33
34 }