public class GroovyVisitorContext extends Object implements VisitorContext
EMPTY
Constructor and Description |
---|
GroovyVisitorContext(org.codehaus.groovy.control.SourceUnit sourceUnit) |
Modifier and Type | Method and Description |
---|---|
MutableConvertibleValues<Object> |
clear()
Clear all values.
|
void |
fail(String message,
Element element)
Allows failing compilation for a given element with the given message.
|
void |
finish()
Finish writing and flush any service entries to disk.
|
<T> Optional<T> |
get(CharSequence name,
ArgumentConversionContext<T> conversionContext)
Resolve the given property for the given name.
|
Optional<ClassElement> |
getClassElement(String name)
This method will lookup another class element by name.
|
ClassElement[] |
getClassElements(String aPackage,
String... stereotypes)
Find all the classes within the given package and having the given annotation.
|
Iterable<URL> |
getClasspathResources(String path)
Obtain a set of resources from the user classpath.
|
void |
info(String message)
Allows printing informational messages.
|
void |
info(String message,
Element element)
Allows printing informational messages.
|
Set<String> |
names() |
MutableConvertibleValues<Object> |
put(CharSequence key,
Object value)
Insert a value for the given key and value.
|
MutableConvertibleValues<Object> |
remove(CharSequence key)
Remove a value for the given key.
|
Collection<Object> |
values() |
OutputStream |
visitClass(String classname)
Visits a new class and returns the output stream with which should be written the bytes of the class to be
generated.
|
Optional<GeneratedFile> |
visitGeneratedFile(String path)
Visit a file that will be located within the generated source directory.
|
Optional<GeneratedFile> |
visitMetaInfFile(String path)
Visit a file within the META-INF directory.
|
void |
visitServiceDescriptor(String type,
String classname)
Allows adding a class that will be written to the
META-INF/services file under the given type and class
name. |
void |
warn(String message,
Element element)
Allows printing a warning for the given message and element.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getClassElement
of, putAll, putAll
asMap, asMap, asProperties, contains, empty, forEach, getValueType, isEmpty, iterator, subMap, subMap, subMap
get, get, get
forEach, spliterator
getServiceEntries, visitServiceDescriptor
public GroovyVisitorContext(org.codehaus.groovy.control.SourceUnit sourceUnit)
sourceUnit
- The SourceUnit
@Nonnull public Iterable<URL> getClasspathResources(@Nonnull String path)
VisitorContext
getClasspathResources
in interface VisitorContext
path
- The pathpublic Optional<ClassElement> getClassElement(String name)
VisitorContext
getClassElement
in interface VisitorContext
name
- The name@Nonnull public ClassElement[] getClassElements(@Nonnull String aPackage, @Nonnull String... stereotypes)
VisitorContext
getClassElements
in interface VisitorContext
aPackage
- The packagestereotypes
- The stereotypespublic void info(String message, @Nullable Element element)
VisitorContext
info
in interface VisitorContext
message
- The messageelement
- The elementpublic void info(String message)
VisitorContext
info
in interface VisitorContext
message
- The messagepublic void fail(String message, @Nullable Element element)
VisitorContext
fail
in interface VisitorContext
message
- The messageelement
- The elementpublic void warn(String message, @Nullable Element element)
VisitorContext
warn
in interface VisitorContext
message
- The messageelement
- The elementpublic OutputStream visitClass(String classname) throws IOException
ClassWriterOutputVisitor
visitClass
in interface ClassWriterOutputVisitor
classname
- the fully qualified classnameIOException
- if an error occurs creating the output streampublic void visitServiceDescriptor(String type, String classname)
ClassWriterOutputVisitor
META-INF/services
file under the given type and class
name.visitServiceDescriptor
in interface ClassWriterOutputVisitor
type
- the fully qualified service nameclassname
- the fully qualified classnamepublic Optional<GeneratedFile> visitMetaInfFile(String path)
VisitorContext
visitMetaInfFile
in interface VisitorContext
visitMetaInfFile
in interface ClassWriterOutputVisitor
path
- The path to the filepublic Optional<GeneratedFile> visitGeneratedFile(String path)
VisitorContext
visitGeneratedFile
in interface VisitorContext
visitGeneratedFile
in interface ClassWriterOutputVisitor
path
- The path to the filepublic void finish()
ClassWriterOutputVisitor
finish
in interface ClassWriterOutputVisitor
public MutableConvertibleValues<Object> put(CharSequence key, @Nullable Object value)
MutableConvertibleValues
put
in interface MutableConvertibleValues<Object>
key
- The keyvalue
- The valuepublic MutableConvertibleValues<Object> remove(CharSequence key)
MutableConvertibleValues
remove
in interface MutableConvertibleValues<Object>
key
- The keypublic MutableConvertibleValues<Object> clear()
MutableConvertibleValues
clear
in interface MutableConvertibleValues<Object>
public Set<String> names()
names
in interface ConvertibleValues<Object>
public Collection<Object> values()
values
in interface ConvertibleValues<Object>
public <T> Optional<T> get(CharSequence name, ArgumentConversionContext<T> conversionContext)
ValueResolver
get
in interface ValueResolver<CharSequence>
T
- The concrete typename
- The nameconversionContext
- The conversion context