[Java] Interface Factory

Authors:
Andres Almiray
Danno Ferrin

Methods Summary

Methods
Type Params Return Type Name and description
boolean isHandlesNodeChildren()
Does this factory "Own" it's child closure.
boolean isLeaf()
@return true if no child closures should be processed
Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes)
@param builder the FactoryBuilder
void onFactoryRegistration(FactoryBuilderSupport builder, String registeredName, String registeredGroupName)
Called when a factory is registered to a builder
boolean onHandleNodeAttributes(FactoryBuilderSupport builder, Object node, Map attributes)
@param builder the FactoryBuilder
boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent)
Only called if it isLeaf is false and isHandlesNodeChildren is true
void onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node)
@param builder the FactoryBuilder
void setChild(FactoryBuilderSupport builder, Object parent, Object child)
void setParent(FactoryBuilderSupport builder, Object parent, Object child)

Method Detail

public 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

public boolean isLeaf()

Returns:
true if no child closures should be processed

public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes)

throws:
InstantiationException if attempting to instantiate an interface or abstract class
throws:
IllegalAccessException if the instance can't be created due to a security violation
Parameters:
builder - the FactoryBuilder
name - the name of the node being built
value - the 'value' argument in the build node
attributes - the attributes of the build arg
Returns:
the object created for the builder

public void onFactoryRegistration(FactoryBuilderSupport builder, String registeredName, String registeredGroupName)

Called when a factory is registered to a builder

Parameters:
builder - the build the factory has been registered to
registeredName - the name the factory has been registered under

public boolean onHandleNodeAttributes(FactoryBuilderSupport builder, Object node, Map attributes)

Parameters:
builder - the FactoryBuilder
node - the node (returned from newINstance) to consider the attributes for
attributes - the attributes, a mutable set
Returns:
true if the factory builder should use standard bean property matching for the remaining attributes

public boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent)

Only called if it isLeaf is false and isHandlesNodeChildren is true

Parameters:
builder - the FactoryBuilder
node - the node (returned from newINstance) to consider the attributes for
childContent - the child content closure of the builder
Returns:
true if the factory builder should apply default node processing to the content child

public void onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node)

Parameters:
builder - the FactoryBuilder
parent - the parent node (null if 'root')
node - the node just completed

public void setChild(FactoryBuilderSupport builder, Object parent, Object child)

public void setParent(FactoryBuilderSupport builder, Object parent, Object child)

© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/groovy/util/Factory.html