Class SourceAwareCustomizerFactory
- java.lang.Object
 - 
- groovy.util.AbstractFactory
 - 
- org.codehaus.groovy.control.customizers.builder.SourceAwareCustomizerFactory
 
 
 
- 
- All Implemented Interfaces:
 Factory,PostCompletionFactory
public class SourceAwareCustomizerFactory extends AbstractFactory implements PostCompletionFactory
Factory for use withCompilerCustomizationBuilder. Allows the construction ofsource aware customizers. Syntax:// apply CompileStatic AST annotation on .sgroovy files builder.source(extension: 'sgroovy') { ast(CompileStatic) } // apply CompileStatic AST annotation on .sgroovy or .sg files builder.source(extensions: ['sgroovy','sg']) { ast(CompileStatic) } // apply CompileStatic AST annotation on .sgroovy or .sg files builder.source(extensionValidator: { it.name in ['sgroovy','sg']}) { ast(CompileStatic) } // apply CompileStatic AST annotation on files whose name is 'foo' builder.source(basename: 'foo') { ast(CompileStatic) } // apply CompileStatic AST annotation on files whose name is 'foo' or 'bar' builder.source(basenames: ['foo', 'bar']) { ast(CompileStatic) } // apply CompileStatic AST annotation on files whose name is 'foo' or 'bar' builder.source(basenameValidator: { it in ['foo', 'bar'] }) { ast(CompileStatic) } // apply CompileStatic AST annotation on files that do not contain a class named 'Baz' builder.source(unitValidator: { unit->!unit.AST.classes.any { it.name == 'Baz' } }) { ast(CompileStatic) } // apply CompileStatic AST annotation on class nodes that end with 'CS' builder.source(classValidator: { cn->cn.name.endsWith('CS') }) { ast(CompileStatic) } 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSourceAwareCustomizerFactory.SourceOptions 
- 
Constructor Summary
Constructors Constructor Description SourceAwareCustomizerFactory() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectnewInstance(FactoryBuilderSupport builder, java.lang.Object name, java.lang.Object value, java.util.Map attributes)java.lang.ObjectpostCompleteNode(FactoryBuilderSupport factory, java.lang.Object parent, java.lang.Object node)voidsetChild(FactoryBuilderSupport builder, java.lang.Object parent, java.lang.Object child)- 
Methods inherited from class groovy.util.AbstractFactory
isHandlesNodeChildren, isLeaf, onFactoryRegistration, onHandleNodeAttributes, onNodeChildren, onNodeCompleted, setParent 
 - 
 
 - 
 
- 
- 
Method Detail
- 
newInstance
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
- Specified by:
 newInstancein interfaceFactory- 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
 
- 
setChild
public void setChild(FactoryBuilderSupport builder, java.lang.Object parent, java.lang.Object child)
- Specified by:
 setChildin interfaceFactory- Overrides:
 setChildin classAbstractFactory
 
- 
postCompleteNode
public java.lang.Object postCompleteNode(FactoryBuilderSupport factory, java.lang.Object parent, java.lang.Object node)
- Specified by:
 postCompleteNodein interfacePostCompletionFactory
 
 - 
 
 -