Class TypeInfo.BuilderBase.TypeInfoImpl

java.lang.Object
io.helidon.common.types.TypeInfo.BuilderBase.TypeInfoImpl
All Implemented Interfaces:
Prototype.Api, Annotated, TypeInfo
Enclosing class:
TypeInfo.BuilderBase<BUILDER extends TypeInfo.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends TypeInfo>

protected static class TypeInfo.BuilderBase.TypeInfoImpl extends Object implements TypeInfo
Generated implementation of the prototype, can be extended by descendant prototype implementations.
  • Constructor Details

    • TypeInfoImpl

      protected TypeInfoImpl(TypeInfo.BuilderBase<?,?> builder)
      Create an instance providing a builder.
      Parameters:
      builder - extending builder base of this prototype
  • Method Details

    • typeName

      public TypeName typeName()
    • description

      public Optional<String> description()
    • typeKind

      public String typeKind()
    • kind

      public ElementKind kind()
    • elementInfo

      public List<TypedElementInfo> elementInfo()
    • otherElementInfo

      public List<TypedElementInfo> otherElementInfo()
    • referencedTypeNamesToAnnotations

      public Map<TypeName,List<Annotation>> referencedTypeNamesToAnnotations()
    • referencedModuleNames

      public Map<TypeName,String> referencedModuleNames()
    • superTypeInfo

      public Optional<TypeInfo> superTypeInfo()
    • interfaceTypeInfo

      public List<TypeInfo> interfaceTypeInfo()
    • modifiers

      public Set<String> modifiers()
    • elementModifiers

      public Set<Modifier> elementModifiers()
    • accessModifier

      public AccessModifier accessModifier()
    • module

      public Optional<String> module()
    • originatingElement

      public Optional<Object> originatingElement()
    • annotations

      public List<Annotation> annotations()
      Description copied from interface: Annotated
      List of declared and known annotations for this element. Note that "known" implies that the annotation is visible, which depends upon the context in which it was build (such as the of the annotation).
      Specified by:
      annotations in interface Annotated
      Returns:
      the list of annotations declared on this element
    • inheritedAnnotations

      public List<Annotation> inheritedAnnotations()
      Description copied from interface: Annotated
      List of all inherited annotations for this element. Inherited annotations are annotations declared on annotations of this element that are also marked as Inherited.

      The returned list does not contain Annotated.annotations(). If a meta-annotation is present on multiple annotations, it will be returned once for each such declaration.

      Specified by:
      inheritedAnnotations in interface Annotated
      Returns:
      list of all meta annotations of this element
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • hasMetaAnnotation

      default boolean hasMetaAnnotation(TypeName annotation, TypeName metaAnnotation)
      Check if an annotation type has a specific meta annotation.
      Parameters:
      annotation - annotation to check meta annotation for
      metaAnnotation - meta annotation type
      Returns:
      whether the meta annotation is present on the annotation
    • hasMetaAnnotation

      default boolean hasMetaAnnotation(TypeName annotation, TypeName metaAnnotation, boolean inherited)
      Check if an annotation type has a specific meta annotation.
      Parameters:
      annotation - annotation to check meta annotation for
      metaAnnotation - meta annotation type
      inherited - whether to include meta annotations of meta annotations
      Returns:
      whether the meta annotation is present on the annotation
    • metaAnnotation

      default Optional<Annotation> metaAnnotation(TypeName annotation, TypeName metaAnnotation)
      Find a meta annotation.
      Parameters:
      annotation - annotation to check meta annotation for
      metaAnnotation - meta annotation type
      Returns:
      meta annotation, or empty if not defined
    • metaAnnotation

      default Optional<Annotation> metaAnnotation(TypeName annotation, TypeName metaAnnotation, boolean inherited)
      Find a meta annotation.
      Parameters:
      annotation - annotation to check meta annotation for
      metaAnnotation - meta annotation type
      inherited - whether to include meta annotations of meta annotations
      Returns:
      meta annotation, or empty if not defined
    • moduleNameOf

      default Optional<String> moduleNameOf(TypeName typeName)
      Uses TypeInfoBlueprint.referencedModuleNames() to determine if the module name is known for the given type.
      Parameters:
      typeName - the type name to lookup
      Returns:
      the module name if it is known