public interface Factory
Modifier and Type | Method and Description |
---|---|
boolean |
isHandlesNodeChildren()
Does this factory "Own" it's child closure.
|
boolean |
isLeaf() |
java.lang.Object |
newInstance(FactoryBuilderSupport builder,
java.lang.Object name,
java.lang.Object value,
java.util.Map attributes) |
void |
onFactoryRegistration(FactoryBuilderSupport builder,
java.lang.String registeredName,
java.lang.String registeredGroupName)
Called when a factory is registered to a builder
|
boolean |
onHandleNodeAttributes(FactoryBuilderSupport builder,
java.lang.Object node,
java.util.Map attributes) |
boolean |
onNodeChildren(FactoryBuilderSupport builder,
java.lang.Object node,
Closure childContent)
Only called if it isLeaf is false and isHandlesNodeChildren is true
|
void |
onNodeCompleted(FactoryBuilderSupport builder,
java.lang.Object parent,
java.lang.Object node) |
void |
setChild(FactoryBuilderSupport builder,
java.lang.Object parent,
java.lang.Object child) |
void |
setParent(FactoryBuilderSupport builder,
java.lang.Object parent,
java.lang.Object child) |
boolean isLeaf()
boolean isHandlesNodeChildren()
void onFactoryRegistration(FactoryBuilderSupport builder, java.lang.String registeredName, java.lang.String registeredGroupName)
builder
- the build the factory has been registered toregisteredName
- the name the factory has been registered underjava.lang.Object newInstance(FactoryBuilderSupport builder, java.lang.Object name, java.lang.Object value, java.util.Map attributes) throws java.lang.InstantiationException, java.lang.IllegalAccessException
builder
- the FactoryBuildername
- the name of the node being builtvalue
- the 'value' argument in the build nodeattributes
- the attributes of the build argjava.lang.InstantiationException
- if attempting to instantiate an interface or abstract classjava.lang.IllegalAccessException
- if the instance can't be created due to a security violationboolean onHandleNodeAttributes(FactoryBuilderSupport builder, java.lang.Object node, java.util.Map attributes)
builder
- the FactoryBuildernode
- the node (returned from newINstance) to consider the attributes forattributes
- the attributes, a mutable setboolean onNodeChildren(FactoryBuilderSupport builder, java.lang.Object node, Closure childContent)
builder
- the FactoryBuildernode
- the node (returned from newINstance) to consider the attributes forchildContent
- the child content closure of the buildervoid onNodeCompleted(FactoryBuilderSupport builder, java.lang.Object parent, java.lang.Object node)
builder
- the FactoryBuilderparent
- the parent node (null if 'root')node
- the node just completedvoid setParent(FactoryBuilderSupport builder, java.lang.Object parent, java.lang.Object child)
void setChild(FactoryBuilderSupport builder, java.lang.Object parent, java.lang.Object child)