Class RuntimeTypeInfo.BuilderBase<BUILDER extends RuntimeTypeInfo.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends RuntimeTypeInfo>

java.lang.Object
io.helidon.builder.codegen.RuntimeTypeInfo.BuilderBase<BUILDER,PROTOTYPE>
Type Parameters:
BUILDER - type of the builder extending this abstract builder
PROTOTYPE - type of the prototype interface that would be built by Prototype.Builder.buildPrototype()
All Implemented Interfaces:
Prototype.Builder<BUILDER,PROTOTYPE>
Direct Known Subclasses:
RuntimeTypeInfo.Builder
Enclosing interface:
RuntimeTypeInfo

public abstract static class RuntimeTypeInfo.BuilderBase<BUILDER extends RuntimeTypeInfo.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends RuntimeTypeInfo> extends Object implements Prototype.Builder<BUILDER,PROTOTYPE>
Fluent API builder base for RuntimeTypeInfo.
  • Constructor Details

    • BuilderBase

      protected BuilderBase()
      Protected to support extensibility.
  • Method Details

    • from

      public BUILDER from(RuntimeTypeInfo prototype)
      Update this builder from an existing prototype instance. This method disables automatic service discovery.
      Parameters:
      prototype - existing prototype to update this builder from
      Returns:
      updated builder instance
    • from

      public BUILDER from(RuntimeTypeInfo.BuilderBase<?,?> builder)
      Update this builder from an existing prototype builder instance.
      Parameters:
      builder - existing builder prototype to update this builder from
      Returns:
      updated builder instance
    • clearFactoryMethod

      public BUILDER clearFactoryMethod()
      Clear existing value of factoryMethod.
      Returns:
      updated builder instance
      See Also:
    • factoryMethod

      public BUILDER factoryMethod(FactoryMethod factoryMethod)
      Factory method. If not defined, we expect the builder to build the correct type.
      Parameters:
      factoryMethod - the factory method if present
      Returns:
      updated builder instance
      See Also:
    • factoryMethod

      public BUILDER factoryMethod(Consumer<FactoryMethod.Builder> consumer)
      Factory method. If not defined, we expect the builder to build the correct type.
      Parameters:
      consumer - consumer of builder of the factory method if present
      Returns:
      updated builder instance
      See Also:
    • factoryMethod

      public BUILDER factoryMethod(Supplier<? extends FactoryMethod> supplier)
      Factory method. If not defined, we expect the builder to build the correct type.
      Parameters:
      supplier - supplier of the factory method if present
      Returns:
      updated builder instance
      See Also:
    • optionBuilder

      public BUILDER optionBuilder(OptionBuilder optionBuilder)
      Builder information associated with this factory method.
      Parameters:
      optionBuilder - builder information
      Returns:
      updated builder instance
      See Also:
    • optionBuilder

      public BUILDER optionBuilder(Consumer<OptionBuilder.Builder> consumer)
      Builder information associated with this factory method.
      Parameters:
      consumer - consumer of builder of builder information
      Returns:
      updated builder instance
      See Also:
    • optionBuilder

      public BUILDER optionBuilder(Supplier<? extends OptionBuilder> supplier)
      Builder information associated with this factory method.
      Parameters:
      supplier - supplier of builder information
      Returns:
      updated builder instance
      See Also:
    • factoryMethod

      public Optional<FactoryMethod> factoryMethod()
      Factory method. If not defined, we expect the builder to build the correct type.
      Returns:
      the factory method if present
    • optionBuilder

      public Optional<OptionBuilder> optionBuilder()
      Builder information associated with this factory method.
      Returns:
      builder information
    • toString

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

      protected void preBuildPrototype()
      Handles providers and decorators.
    • validatePrototype

      protected void validatePrototype()
      Validates required properties.