\r
import org.argeo.slc.ant.SlcProjectHelper;\r
\r
+/** Abstract Ant type wrapping a Spring bean. */\r
public abstract class AbstractSpringArg extends DataType {\r
private List<OverrideArg> overrides = new Vector<OverrideArg>();\r
\r
private String bean;\r
\r
+ /** The <u>name</u> of the underlying bean, as set throught the attribute. */\r
public String getBean() {\r
return bean;\r
}\r
\r
+ /** Setter for the bean name. */\r
public void setBean(String bean) {\r
this.bean = bean;\r
}\r
\r
+ /**\r
+ * Retrieve the instance of the bean. <b>If teh underlying Spring bean is a\r
+ * prototype, it will instanciated each time.</b>\r
+ */\r
protected Object getBeanInstance() {\r
Object obj = getContext().getBean(bean);\r
\r
return obj;\r
}\r
\r
+ /** Creates an override subtag.*/\r
public OverrideArg createOverride() {\r
OverrideArg propertyArg = new OverrideArg();\r
overrides.add(propertyArg);\r
return propertyArg;\r
}\r
\r
+ /** The related Spring application context.*/\r
protected ApplicationContext getContext() {\r
return (ApplicationContext) getProject().getReference(\r
SlcProjectHelper.REF_ROOT_CONTEXT);\r