Interface ElementInfo

All Superinterfaces:
Prototype.Api
All Known Subinterfaces:
InjectionPointInfo, io.helidon.inject.api.InjectionPointInfoBlueprint
All Known Implementing Classes:
ElementInfo.BuilderBase.ElementInfoImpl, InjectionPointInfo.BuilderBase.InjectionPointInfoImpl

public interface ElementInfo extends Prototype.Api
Abstractly describes method or field elements of a managed service type (i.e., fields, constructors, injectable methods, etc.).
See Also:
  • Field Details

  • Method Details

    • builder

      static ElementInfo.Builder builder()
      Create a new fluent API builder to customize configuration.
      Returns:
      a new builder
    • builder

      static ElementInfo.Builder builder(ElementInfo instance)
      Create a new fluent API builder from an existing instance.
      Parameters:
      instance - an existing instance used as a base for the builder
      Returns:
      a builder based on an instance
    • create

      static ElementInfo create()
      Create a new instance with default values.
      Returns:
      a new instance
    • elementKind

      ElementKind elementKind()
      The injection point/receiver kind.
      Returns:
      the kind
    • access

      AccessModifier access()
      The access modifier on the injection point/receiver.
      Returns:
      the access
    • elementTypeName

      TypeName elementTypeName()
      The element type name (e.g., method type or field type).
      Returns:
      the target receiver type name
    • elementName

      String elementName()
      The element name (e.g., method name or field name).
      Returns:
      the target receiver name
    • elementOffset

      Optional<Integer> elementOffset()
      If the element is a method or constructor then this is the ordinal argument position of that argument.
      Returns:
      the offset argument, 0 based, or empty if field type
    • elementArgs

      Optional<Integer> elementArgs()
      If the element is a method or constructor then this is the total argument count for that method.
      Returns:
      total argument count
    • staticDeclaration

      boolean staticDeclaration()
      True if the injection point is static.
      Returns:
      true if static receiver
    • serviceTypeName

      TypeName serviceTypeName()
      The enclosing class name for the element.
      Returns:
      service type name
    • annotations

      Set<Annotation> annotations()
      The annotations on this element.
      Returns:
      the annotations on this element
    • qualifiers

      Set<Qualifier> qualifiers()
      The qualifier type annotations on this element.
      Returns:
      the qualifier type annotations on this element