Class EncElementMirror

  • All Implemented Interfaces:
    java.lang.annotation.Annotation

    public class EncElementMirror
    extends java.lang.Object
    implements Mirrors.EncElement
    EncElementMirror used to parse data of AnnotationMirror for original annotation org.immutables.encode.EncodingMetadata.Element during annotation processing. Interface is being described using Mirrors.EncElement annotation, which should be structurally compatible to the annotation being modelled.
    See Also:
    find(Iterable), from(AnnotationMirror)
    • Field Detail

      • 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
      • name

        private final java.lang.String name
      • type

        private final java.lang.String type
      • naming

        private final java.lang.String naming
      • stdNaming

        private final java.lang.String stdNaming
      • tags

        private final java.lang.String[] tags
      • typeParams

        private final java.lang.String[] typeParams
      • params

        private final java.lang.String[] params
      • thrown

        private final java.lang.String[] thrown
      • annotations

        private final java.lang.String[] annotations
      • doc

        private final java.lang.String[] doc
      • code

        private final java.lang.String code
    • Constructor Detail

      • EncElementMirror

        private EncElementMirror​(javax.lang.model.element.TypeElement defaultAnnotationElement)
      • EncElementMirror

        private EncElementMirror​(javax.lang.model.element.AnnotationMirror annotationMirror)
    • 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<EncElementMirror> find​(javax.lang.model.element.Element element)
        Finds first annotation of this type on the element.
        Parameters:
        element - annotated element
        Returns:
        optional EncElementMirror, present if this annotation found
      • find

        public static com.google.common.base.Optional<EncElementMirror> 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 EncElementMirror, present if this annotation found
      • fromAll

        public static com.google.common.collect.ImmutableList<EncElementMirror> 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 EncElementMirrors
      • from

        public static EncElementMirror 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:
        EncElementMirror
      • from

        public static com.google.common.base.Optional<EncElementMirror> from​(javax.lang.model.element.AnnotationMirror mirror)
        Tries to convert annotation mirror to this annotation type.
        Parameters:
        mirror - annotation mirror
        Returns:
        optional EncElementMirror, present if mirror matched this annotation type
      • name

        public java.lang.String name()
        Returns:
        value of attribute name
      • type

        public java.lang.String type()
        Returns:
        value of attribute type
      • naming

        public java.lang.String naming()
        Returns:
        value of attribute naming
      • stdNaming

        public java.lang.String stdNaming()
        Returns:
        value of attribute stdNaming
      • tags

        public java.lang.String[] tags()
        Returns:
        value of attribute tags
      • typeParams

        public java.lang.String[] typeParams()
        Returns:
        value of attribute typeParams
      • params

        public java.lang.String[] params()
        Returns:
        value of attribute params
      • thrown

        public java.lang.String[] thrown()
        Returns:
        value of attribute thrown
      • annotations

        public java.lang.String[] annotations()
        Returns:
        value of attribute annotations
      • doc

        public java.lang.String[] doc()
        Returns:
        value of attribute doc
      • code

        public java.lang.String code()
        Returns:
        value of attribute code
      • 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:
        annotationType in interface java.lang.annotation.Annotation
        Returns:
        EncElement.class
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface java.lang.annotation.Annotation
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object other)
        Specified by:
        equals in interface java.lang.annotation.Annotation
        Overrides:
        equals in class java.lang.Object
      • toString

        public java.lang.String toString()
        Specified by:
        toString in interface java.lang.annotation.Annotation
        Overrides:
        toString in class java.lang.Object