Class SourceAwareCustomizer
java.lang.Object
org.codehaus.groovy.control.customizers.CompilationCustomizer
org.codehaus.groovy.control.customizers.DelegatingCustomizer
org.codehaus.groovy.control.customizers.SourceAwareCustomizer
- All Implemented Interfaces:
CompilationUnitAware
,CompilationUnit.IPrimaryClassNodeOperation
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
Modifier and Type Method Description boolean
accept(String fileName)
boolean
acceptBaseName(String baseName)
boolean
acceptClass(ClassNode cnode)
boolean
acceptExtension(String extension)
boolean
acceptSource(SourceUnit unit)
void
call(SourceUnit source, GeneratorContext context, ClassNode classNode)
void
setBaseNameValidator(Closure<Boolean> baseNameValidator)
void
setClassValidator(Closure<Boolean> classValidator)
void
setExtensionValidator(Closure<Boolean> extensionValidator)
void
setSourceUnitValidator(Closure<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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.codehaus.groovy.control.CompilationUnit.IPrimaryClassNodeOperation
doPhaseOperation, needSortedInput
-
Constructor Details
-
SourceAwareCustomizer
-
-
Method Details
-
call
public void call(SourceUnit source, GeneratorContext context, ClassNode classNode) throws CompilationFailedException- Specified by:
call
in interfaceCompilationUnit.IPrimaryClassNodeOperation
- Overrides:
call
in classDelegatingCustomizer
- Throws:
CompilationFailedException
-
setBaseNameValidator
-
setExtensionValidator
-
setSourceUnitValidator
-
setClassValidator
-
accept
-
acceptClass
-
acceptSource
-
acceptExtension
-
acceptBaseName
-