Class InjectAnnotationMirror
- java.lang.Object
-
- org.immutables.value.processor.meta.InjectAnnotationMirror
-
- All Implemented Interfaces:
java.lang.annotation.Annotation
public class InjectAnnotationMirror extends java.lang.Object implements AnnotationInjections.InjectAnnotation
InjectAnnotationMirror used to parse data of AnnotationMirror for original annotationorg.immutables.annotate.InjectAnnotationduring annotation processing. Interface is being described usingAnnotationInjections.InjectAnnotationannotation, which should be structurally compatible to the annotation being modelled.- See Also:
find(Iterable),from(AnnotationMirror)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classInjectAnnotationMirror.CodeExtractorprivate static classInjectAnnotationMirror.DeduplicationKeyExtractorprivate static classInjectAnnotationMirror.IfPresentExtractorprivate static classInjectAnnotationMirror.TargetExtractorprivate static classInjectAnnotationMirror.TypeExtractor-
Nested classes/interfaces inherited from class org.immutables.value.processor.meta.AnnotationInjections.InjectAnnotation
AnnotationInjections.InjectAnnotation.Where
-
-
Field Summary
Fields Modifier and Type Field Description private javax.lang.model.element.AnnotationMirrorannotationMirrorprivate java.lang.Stringcodeprivate java.lang.StringdeduplicationKeyprivate booleanifPresentstatic java.lang.StringMIRROR_QUALIFIED_NAMEstatic java.lang.StringQUALIFIED_NAMEprivate AnnotationInjections.InjectAnnotation.Where[]targetprivate javax.lang.model.type.TypeMirrortypeprivate java.lang.StringtypeName
-
Constructor Summary
Constructors Modifier Constructor Description privateInjectAnnotationMirror(javax.lang.model.element.AnnotationMirror annotationMirror)privateInjectAnnotationMirror(javax.lang.model.element.TypeElement defaultAnnotationElement)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.lang.Class<? extends java.lang.annotation.Annotation>annotationType()java.lang.Stringcode()java.lang.StringdeduplicationKey()booleanequals(java.lang.Object other)static com.google.common.base.Optional<InjectAnnotationMirror>find(java.lang.Iterable<? extends javax.lang.model.element.AnnotationMirror> mirrors)Finds first annotation of this type in an iterable of annotation mirrors.static com.google.common.base.Optional<InjectAnnotationMirror>find(javax.lang.model.element.Element element)Finds first annotation of this type on the element.static com.google.common.base.Optional<InjectAnnotationMirror>from(javax.lang.model.element.AnnotationMirror mirror)Tries to convert annotation mirror to this annotation type.static InjectAnnotationMirrorfrom(javax.lang.model.element.TypeElement element)Creates mirror with default values using annotation element (i.e.static com.google.common.collect.ImmutableList<InjectAnnotationMirror>fromAll(java.lang.Iterable<? extends javax.lang.model.element.AnnotationMirror> mirrors)Converts iterable of annotation mirrors where all annotation are of this type.javax.lang.model.element.AnnotationMirrorgetAnnotationMirror()inthashCode()booleanifPresent()static booleanisPresent(javax.lang.model.element.Element annotatedElement)static java.lang.StringmirrorQualifiedName()static java.lang.StringqualifiedName()static java.lang.StringsimpleName()AnnotationInjections.InjectAnnotation.Where[]target()java.lang.StringtoString()java.lang.Class<? extends java.lang.annotation.Annotation>type()Deprecated.Always throws UnsupportedOperationException.javax.lang.model.type.TypeMirrortypeMirror()java.lang.StringtypeName()
-
-
-
Field Detail
-
QUALIFIED_NAME
public static final java.lang.String QUALIFIED_NAME
- See Also:
- Constant Field Values
-
MIRROR_QUALIFIED_NAME
public static final java.lang.String MIRROR_QUALIFIED_NAME
- See Also:
- Constant Field Values
-
annotationMirror
private final javax.lang.model.element.AnnotationMirror annotationMirror
-
code
private final java.lang.String code
-
type
private final javax.lang.model.type.TypeMirror type
-
typeName
private final java.lang.String typeName
-
ifPresent
private final boolean ifPresent
-
target
private final AnnotationInjections.InjectAnnotation.Where[] target
-
deduplicationKey
private final java.lang.String deduplicationKey
-
-
Method Detail
-
mirrorQualifiedName
public static java.lang.String mirrorQualifiedName()
-
qualifiedName
public static java.lang.String qualifiedName()
-
simpleName
public static java.lang.String simpleName()
-
isPresent
public static boolean isPresent(javax.lang.model.element.Element annotatedElement)
-
find
public static com.google.common.base.Optional<InjectAnnotationMirror> find(javax.lang.model.element.Element element)
Finds first annotation of this type on the element.- Parameters:
element- annotated element- Returns:
- optional
InjectAnnotationMirror, present if this annotation found
-
find
public static com.google.common.base.Optional<InjectAnnotationMirror> find(java.lang.Iterable<? extends javax.lang.model.element.AnnotationMirror> mirrors)
Finds first annotation of this type in an iterable of annotation mirrors.- Parameters:
mirrors- annotation mirrors- Returns:
- optional
InjectAnnotationMirror, present if this annotation found
-
fromAll
public static com.google.common.collect.ImmutableList<InjectAnnotationMirror> fromAll(java.lang.Iterable<? extends javax.lang.model.element.AnnotationMirror> mirrors)
Converts iterable of annotation mirrors where all annotation are of this type. Otherwise it fails- Parameters:
mirrors- of this annotation type.- Returns:
- list of converted
InjectAnnotationMirrors
-
from
public static InjectAnnotationMirror from(javax.lang.model.element.TypeElement element)
Creates mirror with default values using annotation element (i.e. declaration, not usage).- Parameters:
element- annotation type element- Returns:
InjectAnnotationMirror
-
from
public static com.google.common.base.Optional<InjectAnnotationMirror> from(javax.lang.model.element.AnnotationMirror mirror)
Tries to convert annotation mirror to this annotation type.- Parameters:
mirror- annotation mirror- Returns:
- optional
InjectAnnotationMirror, present if mirror matched this annotation type
-
code
public java.lang.String code()
- Returns:
- value of attribute
code
-
typeName
public java.lang.String typeName()
- Returns:
- type name for value of attribute
type
-
typeMirror
public javax.lang.model.type.TypeMirror typeMirror()
- Returns:
- type mirror for value of attribute
type
-
type
@Deprecated public java.lang.Class<? extends java.lang.annotation.Annotation> type()
Deprecated.Always throws UnsupportedOperationException. UsetypeMirror()ortypeName.
-
ifPresent
public boolean ifPresent()
- Returns:
- value of attribute
ifPresent
-
target
public AnnotationInjections.InjectAnnotation.Where[] target()
- Returns:
- value of attribute
target
-
deduplicationKey
public java.lang.String deduplicationKey()
- Returns:
- value of attribute
deduplicationKey
-
getAnnotationMirror
public javax.lang.model.element.AnnotationMirror getAnnotationMirror()
- Returns:
- underlying annotation mirror
-
annotationType
public java.lang.Class<? extends java.lang.annotation.Annotation> annotationType()
- Specified by:
annotationTypein interfacejava.lang.annotation.Annotation- Returns:
InjectAnnotation.class
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacejava.lang.annotation.Annotation- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
- Specified by:
equalsin interfacejava.lang.annotation.Annotation- Overrides:
equalsin classjava.lang.Object
-
toString
public java.lang.String toString()
- Specified by:
toStringin interfacejava.lang.annotation.Annotation- Overrides:
toStringin classjava.lang.Object
-
-