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.
|
java.lang.Object |
newInstance(FactoryBuilderSupport builder,
java.lang.Object name,
java.lang.Object value,
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
|
java.lang.Object |
postCompleteNode(FactoryBuilderSupport factory,
java.lang.Object parent,
java.lang.Object node) |
isLeaf, onFactoryRegistration, onHandleNodeAttributes, onNodeCompleted, setChild, setParent
public boolean isHandlesNodeChildren()
Factory
isHandlesNodeChildren
in interface Factory
isHandlesNodeChildren
in class AbstractFactory
public 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
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 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 violationpublic boolean onNodeChildren(FactoryBuilderSupport builder, java.lang.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 java.lang.Object postCompleteNode(FactoryBuilderSupport factory, java.lang.Object parent, java.lang.Object node)
postCompleteNode
in interface PostCompletionFactory