public class InlinedASTCustomizerFactory extends AbstractFactory implements PostCompletionFactory
Here is an example, which only logs the class name during compilation:
inline(phase:'CONVERSION') { source, context, classNode -> println "visiting $classNode" }
Constructor and Description |
---|
InlinedASTCustomizerFactory() |
Modifier and Type | Method and Description |
---|---|
boolean |
isHandlesNodeChildren()
Does this factory "Own" it's child closure.
|
Object |
newInstance(FactoryBuilderSupport builder,
Object name,
Object value,
Map attributes) |
boolean |
onNodeChildren(FactoryBuilderSupport builder,
Object node,
Closure childContent)
Only called if it isLeaf is false and isHandlesNodeChildren is true
|
Object |
postCompleteNode(FactoryBuilderSupport factory,
Object parent,
Object node) |
isLeaf, onFactoryRegistration, onHandleNodeAttributes, onNodeCompleted, setChild, setParent
public boolean isHandlesNodeChildren()
Factory
isHandlesNodeChildren
in interface Factory
isHandlesNodeChildren
in class AbstractFactory
public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException
newInstance
in interface Factory
builder
- the FactoryBuildername
- the name of the node being builtvalue
- the 'value' argument in the build nodeattributes
- the attributes of the build argInstantiationException
- if attempting to instantiate an interface or abstract classIllegalAccessException
- if the instance can't be created due to a security violationpublic boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent)
Factory
onNodeChildren
in interface Factory
onNodeChildren
in class AbstractFactory
builder
- the FactoryBuildernode
- the node (returned from newINstance) to consider the attributes forchildContent
- the child content closure of the builderpublic Object postCompleteNode(FactoryBuilderSupport factory, Object parent, Object node)
postCompleteNode
in interface PostCompletionFactory