Interface InjectionPointInfo

All Superinterfaces:
ElementInfo, Prototype.Api
All Known Implementing Classes:
InjectionPointInfo.BuilderBase.InjectionPointInfoImpl

public interface InjectionPointInfo extends Prototype.Api, ElementInfo
Describes a receiver for injection - identifies who/what is requesting an injection that needs to be satisfied.
See Also:
  • Field Details

  • Method Details

    • builder

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

      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 InjectionPointInfo create()
      Create a new instance with default values.
      Returns:
      a new instance
    • ipName

      String ipName()
      Name of the field or argument we are injecting into. Best effort, if cannot be found, an indexed approach may be used (such as arg0).
      Returns:
      name of the injection point field or argument
    • ipType

      TypeName ipType()
      Type of the field or argument we are injecting into.
      Returns:
      type of the field or argument, including generic type declarations
    • id

      String id()
      The identity (aka id) for this injection point. The id should be unique for the service type it is contained within.

      This method will return the baseIdentity() when elementOffset() is null. If not null then the elemOffset is part of the returned identity.

      Returns:
      the unique identity
    • baseIdentity

      String baseIdentity()
      The base identifying name for this injection point. If the element represents a function, then the function arguments are encoded in its base identity.
      Returns:
      the base identity of the element
    • listWrapped

      boolean listWrapped()
      True if the injection point is of type List.
      Returns:
      true if list based receiver
    • optionalWrapped

      boolean optionalWrapped()
      True if the injection point is of type Optional.
      Returns:
      true if optional based receiver
    • providerWrapped

      boolean providerWrapped()
      True if the injection point is of type Provider (or Supplier).
      Returns:
      true if provider based receiver
    • dependencyToServiceInfo

      ServiceInfoCriteria dependencyToServiceInfo()
      The service info criteria/dependency this is dependent upon.
      Returns:
      the service info criteria we are dependent upon
    • 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