Class SourceAwareCustomizer
- java.lang.Object
-
- org.codehaus.groovy.control.CompilationUnit.PrimaryClassNodeOperation
-
- org.codehaus.groovy.control.customizers.CompilationCustomizer
-
- org.codehaus.groovy.control.customizers.DelegatingCustomizer
-
- org.codehaus.groovy.control.customizers.SourceAwareCustomizer
-
- All Implemented Interfaces:
CompilationUnitAware
public class SourceAwareCustomizer extends DelegatingCustomizer
A base class for customizers which only have to be applied on specific source units. This is for example useful if you want a customizer to be applied only for files matching some extensions.For convenience, this class implements several methods that you may extend to customize the behaviour of this utility. For example, if you want to apply a customizer only for classes matching the '.foo' file extension, then you only have to override the
acceptExtension(String)method:return "foo".equals(extension)- Since:
- 2.1.0
-
-
Field Summary
-
Fields inherited from class org.codehaus.groovy.control.customizers.DelegatingCustomizer
delegate
-
-
Constructor Summary
Constructors Constructor Description SourceAwareCustomizer(CompilationCustomizer delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaccept(java.lang.String fileName)booleanacceptBaseName(java.lang.String baseName)booleanacceptClass(ClassNode cnode)booleanacceptExtension(java.lang.String extension)booleanacceptSource(SourceUnit unit)voidcall(SourceUnit source, GeneratorContext context, ClassNode classNode)voidsetBaseNameValidator(Closure<java.lang.Boolean> baseNameValidator)voidsetClassValidator(Closure<java.lang.Boolean> classValidator)voidsetExtensionValidator(Closure<java.lang.Boolean> extensionValidator)voidsetSourceUnitValidator(Closure<java.lang.Boolean> sourceUnitValidator)-
Methods inherited from class org.codehaus.groovy.control.customizers.DelegatingCustomizer
setCompilationUnit
-
Methods inherited from class org.codehaus.groovy.control.customizers.CompilationCustomizer
getPhase
-
Methods inherited from class org.codehaus.groovy.control.CompilationUnit.PrimaryClassNodeOperation
needSortedInput
-
-
-
-
Constructor Detail
-
SourceAwareCustomizer
public SourceAwareCustomizer(CompilationCustomizer delegate)
-
-
Method Detail
-
call
public void call(SourceUnit source, GeneratorContext context, ClassNode classNode) throws CompilationFailedException
- Overrides:
callin classDelegatingCustomizer- Throws:
CompilationFailedException
-
setBaseNameValidator
public void setBaseNameValidator(Closure<java.lang.Boolean> baseNameValidator)
-
setExtensionValidator
public void setExtensionValidator(Closure<java.lang.Boolean> extensionValidator)
-
setSourceUnitValidator
public void setSourceUnitValidator(Closure<java.lang.Boolean> sourceUnitValidator)
-
setClassValidator
public void setClassValidator(Closure<java.lang.Boolean> classValidator)
-
accept
public boolean accept(java.lang.String fileName)
-
acceptClass
public boolean acceptClass(ClassNode cnode)
-
acceptSource
public boolean acceptSource(SourceUnit unit)
-
acceptExtension
public boolean acceptExtension(java.lang.String extension)
-
acceptBaseName
public boolean acceptBaseName(java.lang.String baseName)
-
-