Package groovy.util
Interface Factory
-
- All Known Implementing Classes:
AbstractFactory,CustomizersFactory,ImportCustomizerFactory,InlinedASTCustomizerFactory,SecureASTCustomizerFactory,SourceAwareCustomizerFactory
public interface Factory
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleanisHandlesNodeChildren()Does this factory "Own" it's child closure.booleanisLeaf()java.lang.ObjectnewInstance(FactoryBuilderSupport builder, java.lang.Object name, java.lang.Object value, java.util.Map attributes)voidonFactoryRegistration(FactoryBuilderSupport builder, java.lang.String registeredName, java.lang.String registeredGroupName)Called when a factory is registered to a builderbooleanonHandleNodeAttributes(FactoryBuilderSupport builder, java.lang.Object node, java.util.Map attributes)booleanonNodeChildren(FactoryBuilderSupport builder, java.lang.Object node, Closure childContent)Only called if it isLeaf is false and isHandlesNodeChildren is truevoidonNodeCompleted(FactoryBuilderSupport builder, java.lang.Object parent, java.lang.Object node)voidsetChild(FactoryBuilderSupport builder, java.lang.Object parent, java.lang.Object child)voidsetParent(FactoryBuilderSupport builder, java.lang.Object parent, java.lang.Object child)
-
-
-
Method Detail
-
isLeaf
boolean isLeaf()
- Returns:
- true if no child closures should be processed
-
isHandlesNodeChildren
boolean isHandlesNodeChildren()
Does this factory "Own" it's child closure.- Returns:
- true if the factory should have onContentClosure() called, false if the builder should handle it
-
onFactoryRegistration
void onFactoryRegistration(FactoryBuilderSupport builder, java.lang.String registeredName, java.lang.String registeredGroupName)
Called when a factory is registered to a builder- Parameters:
builder- the build the factory has been registered toregisteredName- the name the factory has been registered under
-
newInstance
java.lang.Object newInstance(FactoryBuilderSupport builder, java.lang.Object name, java.lang.Object value, java.util.Map attributes) throws java.lang.InstantiationException, java.lang.IllegalAccessException
- Parameters:
builder- the FactoryBuildername- the name of the node being builtvalue- the 'value' argument in the build nodeattributes- the attributes of the build arg- Returns:
- the object created for the builder
- Throws:
java.lang.InstantiationException- if attempting to instantiate an interface or abstract classjava.lang.IllegalAccessException- if the instance can't be created due to a security violation
-
onHandleNodeAttributes
boolean onHandleNodeAttributes(FactoryBuilderSupport builder, java.lang.Object node, java.util.Map attributes)
- Parameters:
builder- the FactoryBuildernode- the node (returned from newINstance) to consider the attributes forattributes- the attributes, a mutable set- Returns:
- true if the factory builder should use standard bean property matching for the remaining attributes
-
onNodeChildren
boolean onNodeChildren(FactoryBuilderSupport builder, java.lang.Object node, Closure childContent)
Only called if it isLeaf is false and isHandlesNodeChildren is true- Parameters:
builder- the FactoryBuildernode- the node (returned from newINstance) to consider the attributes forchildContent- the child content closure of the builder- Returns:
- true if the factory builder should apply default node processing to the content child
-
onNodeCompleted
void onNodeCompleted(FactoryBuilderSupport builder, java.lang.Object parent, java.lang.Object node)
- Parameters:
builder- the FactoryBuilderparent- the parent node (null if 'root')node- the node just completed
-
setParent
void setParent(FactoryBuilderSupport builder, java.lang.Object parent, java.lang.Object child)
-
setChild
void setChild(FactoryBuilderSupport builder, java.lang.Object parent, java.lang.Object child)
-
-