Class IncludeMirror
- java.lang.Object
-
- org.immutables.value.processor.meta.IncludeMirror
-
- All Implemented Interfaces:
java.lang.annotation.Annotation
public class IncludeMirror extends java.lang.Object implements ValueMirrors.Include
IncludeMirror used to parse data of AnnotationMirror for original annotationorg.immutables.value.Value.Includeduring annotation processing. Interface is being described usingValueMirrors.Includeannotation, 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 classIncludeMirror.ValueExtractor
-
Field Summary
Fields Modifier and Type Field Description private javax.lang.model.element.AnnotationMirrorannotationMirrorstatic java.lang.StringMIRROR_QUALIFIED_NAMEstatic java.lang.StringQUALIFIED_NAMEprivate javax.lang.model.type.TypeMirror[]valueprivate java.lang.String[]valueName
-
Constructor Summary
Constructors Modifier Constructor Description privateIncludeMirror(javax.lang.model.element.AnnotationMirror annotationMirror)privateIncludeMirror(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()booleanequals(java.lang.Object other)static com.google.common.base.Optional<IncludeMirror>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<IncludeMirror>find(javax.lang.model.element.Element element)Finds first annotation of this type on the element.static com.google.common.base.Optional<IncludeMirror>from(javax.lang.model.element.AnnotationMirror mirror)Tries to convert annotation mirror to this annotation type.static IncludeMirrorfrom(javax.lang.model.element.TypeElement element)Creates mirror with default values using annotation element (i.e.static com.google.common.collect.ImmutableList<IncludeMirror>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()static booleanisPresent(javax.lang.model.element.Element annotatedElement)static java.lang.StringmirrorQualifiedName()static java.lang.StringqualifiedName()static java.lang.StringsimpleName()java.lang.StringtoString()java.lang.Class<?>[]value()Deprecated.Always throws UnsupportedOperationException.javax.lang.model.type.TypeMirror[]valueMirror()java.lang.String[]valueName()
-
-
-
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
-
value
private final javax.lang.model.type.TypeMirror[] value
-
valueName
private final java.lang.String[] valueName
-
-
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<IncludeMirror> find(javax.lang.model.element.Element element)
Finds first annotation of this type on the element.- Parameters:
element- annotated element- Returns:
- optional
IncludeMirror, present if this annotation found
-
find
public static com.google.common.base.Optional<IncludeMirror> 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
IncludeMirror, present if this annotation found
-
fromAll
public static com.google.common.collect.ImmutableList<IncludeMirror> 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
IncludeMirrors
-
from
public static IncludeMirror 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:
IncludeMirror
-
from
public static com.google.common.base.Optional<IncludeMirror> from(javax.lang.model.element.AnnotationMirror mirror)
Tries to convert annotation mirror to this annotation type.- Parameters:
mirror- annotation mirror- Returns:
- optional
IncludeMirror, present if mirror matched this annotation type
-
valueName
public java.lang.String[] valueName()
- Returns:
- type name for value of attribute
value
-
valueMirror
public javax.lang.model.type.TypeMirror[] valueMirror()
- Returns:
- type mirror for value of attribute
value
-
value
@Deprecated public java.lang.Class<?>[] value()
Deprecated.Always throws UnsupportedOperationException. UsevalueMirror()orvalueName.
-
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:
Include.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
-
-