public class AnnotationHelper
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_FIELD_NAME_RESNAME |
static java.lang.String |
DEFAULT_FIELD_NAME_VALUE |
Constructor and Description |
---|
AnnotationHelper(javax.annotation.processing.ProcessingEnvironment processingEnv) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
actionName(java.lang.String annotationName) |
boolean |
defaultResIdValue(int[] values) |
boolean |
defaultResName(java.lang.String[] resNames) |
java.util.List<? extends javax.lang.model.type.TypeMirror> |
directSupertypes(javax.lang.model.type.TypeMirror typeMirror) |
boolean |
enclosingElementHasEnhancedComponentAnnotation(javax.lang.model.element.Element element) |
java.util.List<javax.lang.model.type.DeclaredType> |
extractAnnotationClassArrayParameter(javax.lang.model.element.Element element,
java.lang.String annotationName,
java.lang.String methodName) |
javax.lang.model.type.DeclaredType |
extractAnnotationClassParameter(javax.lang.model.element.Element element,
java.lang.String annotationName) |
javax.lang.model.type.DeclaredType |
extractAnnotationClassParameter(javax.lang.model.element.Element element,
java.lang.String annotationName,
java.lang.String methodName) |
java.util.List<com.sun.codemodel.JFieldRef> |
extractAnnotationFieldRefs(ProcessHolder holder,
javax.lang.model.element.Element element,
java.lang.String annotationName,
IRInnerClass rInnerClass,
boolean useElementName)
Returns a list of
JFieldRef linking to the R class, based on the
given annotation |
java.util.List<com.sun.codemodel.JFieldRef> |
extractAnnotationFieldRefs(ProcessHolder holder,
javax.lang.model.element.Element element,
java.lang.String annotationName,
IRInnerClass rInnerClass,
boolean useElementName,
java.lang.String idFieldName,
java.lang.String resFieldName) |
<T> T |
extractAnnotationParameter(javax.lang.model.element.Element element,
java.lang.String annotationName,
java.lang.String methodName) |
int[] |
extractAnnotationResIdValueParameter(javax.lang.model.element.Element element,
java.lang.String annotationName) |
int[] |
extractAnnotationResIdValueParameter(javax.lang.model.element.Element element,
java.lang.String annotationName,
java.lang.String fieldName) |
java.lang.String[] |
extractAnnotationResNameParameter(javax.lang.model.element.Element element,
java.lang.String annotationName) |
java.lang.String[] |
extractAnnotationResNameParameter(javax.lang.model.element.Element element,
java.lang.String annotationName,
java.lang.String fieldName) |
java.util.List<java.lang.String> |
extractAnnotationResources(javax.lang.model.element.Element element,
java.lang.String annotationName,
IRInnerClass rInnerClass,
boolean useElementName)
Method to handle all annotations dealing with resource ids that can be
set using the value() parameter of the annotation (as int or int[]), the
resName() parameter of the annotation (as String or String[]), the
element name.
|
java.util.List<java.lang.String> |
extractAnnotationResources(javax.lang.model.element.Element element,
java.lang.String annotationName,
IRInnerClass rInnerClass,
boolean useElementName,
java.lang.String idFieldName,
java.lang.String resFieldName) |
java.lang.String |
extractElementName(javax.lang.model.element.Element element,
java.lang.String annotationName) |
javax.lang.model.element.AnnotationMirror |
findAnnotationMirror(javax.lang.model.element.Element annotatedElement,
java.lang.String annotationName) |
java.lang.String |
generatedClassQualifiedNameFromQualifiedName(java.lang.String qualifiedName) |
javax.lang.model.util.Elements |
getElementUtils() |
javax.lang.model.util.Types |
getTypeUtils() |
boolean |
hasOneOfClassAnnotations(javax.lang.model.element.Element element,
java.lang.Class<? extends java.lang.annotation.Annotation> validAnnotation) |
boolean |
hasOneOfClassAnnotations(javax.lang.model.element.Element element,
java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> validAnnotations) |
boolean |
isAbstract(javax.lang.model.element.Element element) |
boolean |
isAnnotation(javax.lang.model.element.TypeElement annotation,
java.lang.String annotationName) |
boolean |
isFinal(javax.lang.model.element.Element element) |
boolean |
isInterface(javax.lang.model.element.TypeElement element) |
boolean |
isPrivate(javax.lang.model.element.Element element) |
boolean |
isPublic(javax.lang.model.element.Element element) |
boolean |
isStatic(javax.lang.model.element.Element element) |
boolean |
isSubtype(javax.lang.model.element.TypeElement t1,
javax.lang.model.element.TypeElement t2) |
boolean |
isSubtype(javax.lang.model.type.TypeMirror potentialSubtype,
javax.lang.model.type.TypeMirror potentialSupertype)
Tests whether one type is a subtype of another.
|
boolean |
isSynchronized(javax.lang.model.element.Element element) |
boolean |
isTopLevel(javax.lang.model.element.TypeElement element) |
void |
printAnnotationError(javax.lang.model.element.Element annotatedElement,
java.lang.String annotationName,
java.lang.String message) |
void |
printAnnotationMessage(Level level,
javax.lang.model.element.Element annotatedElement,
java.lang.String annotationName,
java.lang.String message) |
void |
printAnnotationWarning(javax.lang.model.element.Element annotatedElement,
java.lang.String annotationName,
java.lang.String message) |
void |
printError(javax.lang.model.element.Element element,
java.lang.String message) |
javax.lang.model.element.TypeElement |
typeElementFromQualifiedName(java.lang.String qualifiedName)
This method may return null if the
TypeElement cannot be found in
the processor classpath |
public static final java.lang.String DEFAULT_FIELD_NAME_VALUE
public static final java.lang.String DEFAULT_FIELD_NAME_RESNAME
public AnnotationHelper(javax.annotation.processing.ProcessingEnvironment processingEnv)
public boolean isSubtype(javax.lang.model.type.TypeMirror potentialSubtype, javax.lang.model.type.TypeMirror potentialSupertype)
public boolean isSubtype(javax.lang.model.element.TypeElement t1, javax.lang.model.element.TypeElement t2)
public java.util.List<? extends javax.lang.model.type.TypeMirror> directSupertypes(javax.lang.model.type.TypeMirror typeMirror)
public javax.lang.model.element.TypeElement typeElementFromQualifiedName(java.lang.String qualifiedName)
TypeElement
cannot be found in
the processor classpathpublic java.lang.String generatedClassQualifiedNameFromQualifiedName(java.lang.String qualifiedName)
public javax.lang.model.element.AnnotationMirror findAnnotationMirror(javax.lang.model.element.Element annotatedElement, java.lang.String annotationName)
public boolean isAnnotation(javax.lang.model.element.TypeElement annotation, java.lang.String annotationName)
public void printAnnotationError(javax.lang.model.element.Element annotatedElement, java.lang.String annotationName, java.lang.String message)
public void printAnnotationWarning(javax.lang.model.element.Element annotatedElement, java.lang.String annotationName, java.lang.String message)
public void printAnnotationMessage(Level level, javax.lang.model.element.Element annotatedElement, java.lang.String annotationName, java.lang.String message)
public void printError(javax.lang.model.element.Element element, java.lang.String message)
public boolean isPrivate(javax.lang.model.element.Element element)
public boolean isPublic(javax.lang.model.element.Element element)
public boolean isStatic(javax.lang.model.element.Element element)
public boolean isAbstract(javax.lang.model.element.Element element)
public boolean isInterface(javax.lang.model.element.TypeElement element)
public boolean isTopLevel(javax.lang.model.element.TypeElement element)
public boolean isFinal(javax.lang.model.element.Element element)
public boolean isSynchronized(javax.lang.model.element.Element element)
public javax.lang.model.util.Elements getElementUtils()
public javax.lang.model.util.Types getTypeUtils()
public java.util.List<com.sun.codemodel.JFieldRef> extractAnnotationFieldRefs(ProcessHolder holder, javax.lang.model.element.Element element, java.lang.String annotationName, IRInnerClass rInnerClass, boolean useElementName)
JFieldRef
linking to the R class, based on the
given annotationpublic java.util.List<com.sun.codemodel.JFieldRef> extractAnnotationFieldRefs(ProcessHolder holder, javax.lang.model.element.Element element, java.lang.String annotationName, IRInnerClass rInnerClass, boolean useElementName, java.lang.String idFieldName, java.lang.String resFieldName)
public java.util.List<java.lang.String> extractAnnotationResources(javax.lang.model.element.Element element, java.lang.String annotationName, IRInnerClass rInnerClass, boolean useElementName)
element
- the annotated elementannotationName
- the annotation on the elementrInnerClass
- the R innerClass the resources belong touseElementName
- Should we use a default fallback strategy that uses the
element qualified name for a resource namepublic java.util.List<java.lang.String> extractAnnotationResources(javax.lang.model.element.Element element, java.lang.String annotationName, IRInnerClass rInnerClass, boolean useElementName, java.lang.String idFieldName, java.lang.String resFieldName)
public java.lang.String extractElementName(javax.lang.model.element.Element element, java.lang.String annotationName)
public boolean defaultResName(java.lang.String[] resNames)
public boolean defaultResIdValue(int[] values)
public java.lang.String[] extractAnnotationResNameParameter(javax.lang.model.element.Element element, java.lang.String annotationName)
public java.lang.String[] extractAnnotationResNameParameter(javax.lang.model.element.Element element, java.lang.String annotationName, java.lang.String fieldName)
public int[] extractAnnotationResIdValueParameter(javax.lang.model.element.Element element, java.lang.String annotationName)
public int[] extractAnnotationResIdValueParameter(javax.lang.model.element.Element element, java.lang.String annotationName, java.lang.String fieldName)
public <T> T extractAnnotationParameter(javax.lang.model.element.Element element, java.lang.String annotationName, java.lang.String methodName)
public java.lang.String actionName(java.lang.String annotationName)
public java.util.List<javax.lang.model.type.DeclaredType> extractAnnotationClassArrayParameter(javax.lang.model.element.Element element, java.lang.String annotationName, java.lang.String methodName)
public javax.lang.model.type.DeclaredType extractAnnotationClassParameter(javax.lang.model.element.Element element, java.lang.String annotationName, java.lang.String methodName)
public javax.lang.model.type.DeclaredType extractAnnotationClassParameter(javax.lang.model.element.Element element, java.lang.String annotationName)
public boolean hasOneOfClassAnnotations(javax.lang.model.element.Element element, java.lang.Class<? extends java.lang.annotation.Annotation> validAnnotation)
public boolean enclosingElementHasEnhancedComponentAnnotation(javax.lang.model.element.Element element)
public boolean hasOneOfClassAnnotations(javax.lang.model.element.Element element, java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> validAnnotations)
Copyright © 2010-2014. All Rights Reserved.