@Internal public class JavaVisitorContext extends Object implements VisitorContext
EMPTY
Constructor and Description |
---|
JavaVisitorContext(ProcessingEnvironment processingEnv,
Messager messager,
Elements elements,
AnnotationUtils annotationUtils,
Types types,
ModelUtils modelUtils,
GenericUtils genericUtils,
Filer filer,
MutableConvertibleValues<Object> visitorAttributes)
The default constructor.
|
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.
|
AnnotationUtils |
getAnnotationUtils()
The annotation utils.
|
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.
|
Elements |
getElements()
The elements.
|
GenericUtils |
getGenericUtils()
The generic utils object.
|
Messager |
getMessager()
The messager.
|
ModelUtils |
getModelUtils()
The model utils.
|
Types |
getTypes()
The types.
|
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 JavaVisitorContext(ProcessingEnvironment processingEnv, Messager messager, Elements elements, AnnotationUtils annotationUtils, Types types, ModelUtils modelUtils, GenericUtils genericUtils, Filer filer, MutableConvertibleValues<Object> visitorAttributes)
processingEnv
- The processing environmentmessager
- The messagerelements
- The elementsannotationUtils
- The annotation utilstypes
- Type typesmodelUtils
- The model utilsgenericUtils
- The generic type utilsfiler
- The filervisitorAttributes
- The attributes@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 Messager getMessager()
public ModelUtils getModelUtils()
public Elements getElements()
public AnnotationUtils getAnnotationUtils()
public Types getTypes()
public GenericUtils getGenericUtils()
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