Class Dependencies.BuilderContinuation

java.lang.Object
io.helidon.inject.runtime.Dependencies.BuilderContinuation
Enclosing class:
Dependencies

public static class Dependencies.BuilderContinuation extends Object
The continuation builder. This is a specialized builder used within the generated Activator. It is specialized in that it validates and decorates over the normal builder, and provides a more streamlined interface.
  • Method Details

    • add

      public Dependencies.BuilderContinuation add(String elemName, Class<?> elemType, ElementKind kind, AccessModifier access)
      Adds a new dependency item.
      Parameters:
      elemName - the element name
      elemType - the element type
      kind - the element kind
      access - the element access
      Returns:
      the builder
    • add

      public Dependencies.BuilderContinuation add(String elemName, Class<?> elemType, ElementKind kind, int elemArgs, AccessModifier access)
      Adds a new dependency item.
      Parameters:
      elemName - the element name
      elemType - the element type
      kind - the element kind
      elemArgs - for methods, the number of arguments the method takes
      access - the element access
      Returns:
      the builder
    • add

      public Dependencies.BuilderContinuation add(Class<?> serviceType, String elemName, Class<?> elemType, ElementKind kind, AccessModifier access)
      Adds a new dependency item.
      Parameters:
      serviceType - the service type
      elemName - the element name
      elemType - the element type
      kind - the element kind
      access - the element access
      Returns:
      the builder
    • add

      public Dependencies.BuilderContinuation add(Class<?> serviceType, String elemName, Class<?> elemType, ElementKind kind, int elemArgs, AccessModifier access)
      Adds a new dependency item.
      Parameters:
      serviceType - the service type
      elemName - the element name
      elemType - the element type
      kind - the element kind
      elemArgs - used for methods only; the number of arguments the method accepts
      access - the element access
      Returns:
      the builder
    • add

      public Dependencies.BuilderContinuation add(io.helidon.inject.api.InjectionPointInfo ipInfo)
      Adds a new dependency item.
      Parameters:
      ipInfo - the injection point info already built
      Returns:
      the builder
    • elemOffset

      public Dependencies.BuilderContinuation elemOffset(int offset)
      Sets the element offset.
      Parameters:
      offset - the offset
      Returns:
      the builder
    • listWrapped

      public Dependencies.BuilderContinuation listWrapped()
      Sets the flag indicating the injection point is a list.
      Returns:
      the builder
    • listWrapped

      public Dependencies.BuilderContinuation listWrapped(boolean val)
      Sets the flag indicating the injection point is a list.
      Parameters:
      val - true if list type
      Returns:
      the builder
    • providerWrapped

      public Dependencies.BuilderContinuation providerWrapped()
      Sets the flag indicating the injection point is a provider.
      Returns:
      the builder
    • providerWrapped

      public Dependencies.BuilderContinuation providerWrapped(boolean val)
      Sets the flag indicating the injection point is a provider.
      Parameters:
      val - true if provider type
      Returns:
      the builder
    • optionalWrapped

      public Dependencies.BuilderContinuation optionalWrapped()
      Sets the flag indicating the injection point is an Optional type.
      Returns:
      the builder
    • optionalWrapped

      public Dependencies.BuilderContinuation optionalWrapped(boolean val)
      Sets the flag indicating the injection point is an Optional type.
      Parameters:
      val - true if list type
      Returns:
      the builder
    • named

      Sets the optional qualified name of the injection point.
      Parameters:
      val - the name
      Returns:
      the builder
    • addQualifier

      public Dependencies.BuilderContinuation addQualifier(Class<? extends Annotation> val)
      Sets the optional qualifier of the injection point.
      Parameters:
      val - the qualifier
      Returns:
      the builder
    • addQualifier

      public Dependencies.BuilderContinuation addQualifier(io.helidon.inject.api.Qualifier val)
      Sets the optional qualifier of the injection point.
      Parameters:
      val - the qualifier
      Returns:
      the builder
    • qualifiers

      public Dependencies.BuilderContinuation qualifiers(Set<io.helidon.inject.api.Qualifier> val)
      Sets the optional qualifier of the injection point.
      Parameters:
      val - the qualifier
      Returns:
      the builder
    • staticDeclaration

      public Dependencies.BuilderContinuation staticDeclaration(boolean val)
      Sets the flag indicating that the injection point is static.
      Parameters:
      val - flag indicating if static
      Returns:
      the builder
    • ipName

      Name of the injection point code, such as argument or field.
      Parameters:
      name - name of the field or argument (if available)
      Returns:
      the builder
    • ipType

      Type of the injection point code, such as argument or field.
      Parameters:
      type - of the injection point, including all generic type arguments
      Returns:
      the builder
    • build

      public io.helidon.inject.api.DependenciesInfo build()
      Commits the last dependency item, and prepares for the next.
      Returns:
      the builder
    • add

      public Dependencies.BuilderContinuation add(TypeName serviceTypeName, String elemName, TypeName elemTypeName, ElementKind kind, int elemArgs, AccessModifier access)
      Adds a new dependency item.
      Parameters:
      serviceTypeName - the service type
      elemName - the element name
      elemTypeName - the element type
      kind - the element kind
      elemArgs - used for methods only; this is the number of arguments the method accepts
      access - the element access
      Returns:
      the builder
    • commitLastDependency

      public Optional<io.helidon.inject.api.DependencyInfo> commitLastDependency()
      Commits the last dependency item to complete the last builder continuation.
      Returns:
      any built dependencies info realized from this last commit