1 package org
.argeo
.slc
.ant
;
3 import org
.argeo
.slc
.ant
.spring
.AbstractSpringArg
;
4 import org
.argeo
.slc
.core
.structure
.StructureRegistry
;
5 import org
.argeo
.slc
.core
.structure
.tree
.TreeSAware
;
6 import org
.argeo
.slc
.core
.structure
.tree
.TreeSElement
;
8 public abstract class SAwareArg
extends AbstractSpringArg
{
9 private TreeSAware parentSAware
;
12 protected Object
getBeanInstance() {
13 Object obj
= super.getBeanInstance();
15 if (obj
instanceof TreeSAware
&& parentSAware
!= null) {
16 TreeSAware sAware
= (TreeSAware
) obj
;
17 TreeSElement parentElement
= (TreeSElement
) parentSAware
19 String name
= getBean() + parentElement
.getChildren().size();
20 TreeSElement element
= parentElement
.createChild(name
,
21 getDescription() != null ?
getDescription()
23 sAware
.setElement(element
);
25 parentSAware
.addChild(sAware
);
26 StructureRegistry registry
= (StructureRegistry
) getProject()
27 .getReference(SlcProjectHelper
.REF_STRUCTURE_REGISTRY
);
28 registry
.register(sAware
);
33 public void setParentSAware(TreeSAware parentSAware
) {
34 this.parentSAware
= parentSAware
;