Interface TypeInfo

All Known Implementing Classes:
DefaultTypeInfo

public interface TypeInfo
Represents the model object for a type.
  • Field Details

    • MODIFIER_PUBLIC

      static final String MODIFIER_PUBLIC
      The public modifier.
      See Also:
    • MODIFIER_PROTECTED

      static final String MODIFIER_PROTECTED
      The protected modifier.
      See Also:
    • MODIFIER_PRIVATE

      static final String MODIFIER_PRIVATE
      The private modifier.
      See Also:
    • MODIFIER_ABSTRACT

      static final String MODIFIER_ABSTRACT
      The abstract modifier.
      See Also:
    • MODIFIER_DEFAULT

      static final String MODIFIER_DEFAULT
      The default modifier.
      See Also:
    • MODIFIER_STATIC

      static final String MODIFIER_STATIC
      The static modifier.
      See Also:
    • MODIFIER_SEALED

      static final String MODIFIER_SEALED
      The sealed modifier.
      See Also:
    • MODIFIER_FINAL

      static final String MODIFIER_FINAL
      The final modifier.
      See Also:
    • KIND_FIELD

      static final String KIND_FIELD
      Field element type kind. See javax.lang.model.element.ElementKind#FIELD
      See Also:
    • KIND_METHOD

      static final String KIND_METHOD
      Method element type kind. See javax.lang.model.element.ElementKind#METHOD
      See Also:
    • KIND_CONSTRUCTOR

      static final String KIND_CONSTRUCTOR
      Constructor element type kind. See javax.lang.model.element.ElementKind#CONSTRUCTOR
      See Also:
    • KIND_PARAMETER

      static final String KIND_PARAMETER
      Parameter element type kind. See javax.lang.model.element.ElementKind#PARAMETER
      See Also:
    • KIND_INTERFACE

      static final String KIND_INTERFACE
      Interface element type kind. See javax.lang.model.element.ElementKind#INTERFACE
      See Also:
    • KIND_CLASS

      static final String KIND_CLASS
      Interface element type kind. See javax.lang.model.element.ElementKind#CLASS
      See Also:
    • KIND_ENUM

      static final String KIND_ENUM
      Enum element type kind. See javax.lang.model.element.ElementKind#ENUM
      See Also:
    • KIND_ANNOTATION_TYPE

      static final String KIND_ANNOTATION_TYPE
      Annotation element type kind. See javax.lang.model.element.ElementKind#ANNOTATION_TYPE
      See Also:
    • KIND_PACKAGE

      static final String KIND_PACKAGE
      Package element type kind. See javax.lang.model.element.ElementKind#PACKAGE
      See Also:
    • KIND_RECORD

      static final String KIND_RECORD
      Record element type kind (since Java 16). See javax.lang.model.element.ElementKind#RECORD
      See Also:
  • Method Details

    • typeName

      TypeName typeName()
      The type name.
      Returns:
      the type name
    • typeKind

      String typeKind()
      The type element kind.
      Returns:
      the type element kind (e.g., ""INTERFACE"", ""ANNOTATION_TYPE"", etc.)
      See Also:
    • annotations

      List<AnnotationAndValue> annotations()
      The annotations on the type.
      Returns:
      the annotations on the type
    • elementInfo

      List<TypedElementName> elementInfo()
      The elements that make up the type that are relevant for processing.
      Returns:
      the elements that make up the type that are relevant for processing
    • otherElementInfo

      List<TypedElementName> otherElementInfo()
      The elements that make up this type that are considered "other", or being skipped because they are irrelevant to processing.
      Returns:
      the elements that still make up the type, but are otherwise deemed irrelevant for processing
    • referencedTypeNamesToAnnotations

      Map<TypeName,List<AnnotationAndValue>> referencedTypeNamesToAnnotations()
      Any Map, List, Set, or method that has TypeName.typeArguments() will be analyzed and any type arguments will have its annotations added here. Note that this only applies to non-built-in types.
      Returns:
      all referenced types
    • superTypeInfo

      Optional<TypeInfo> superTypeInfo()
      The parent/super class for this type info.
      Returns:
      the super type
    • modifierNames

      Set<String> modifierNames()
      Element modifiers.
      Returns:
      element modifiers
      See Also: