Enum Class Option.Provider.ConfigForm

java.lang.Object
java.lang.Enum<Option.Provider.ConfigForm>
io.helidon.builder.api.Option.Provider.ConfigForm
All Implemented Interfaces:
Serializable, Comparable<Option.Provider.ConfigForm>, Constable
Enclosing class:
Option.Provider

public static enum Option.Provider.ConfigForm extends Enum<Option.Provider.ConfigForm>
Accepted outer container for configured provider entries.

This enum controls syntax only. It does not select the configured provider identity model and does not impose a generic shape on provider-specific values stored within an entry.

  • Enum Constant Details

    • AUTO

      public static final Option.Provider.ConfigForm AUTO
      Select the outer configuration form from identity.

      TYPE_ONLY resolves to OBJECT, while TYPE_AND_NAME resolves to OBJECT_OR_LIST.

      Together with the default TYPE_AND_NAME identity, this preserves the previous behavior that accepts either configured-provider object or list syntax. The form selected by this value controls only the outer container and its ordering semantics; it does not constrain provider-specific content within an entry.

    • OBJECT

      public static final Option.Provider.ConfigForm OBJECT
      Require the outer configured-provider container to be an object.

      With TYPE_ONLY, each object key is the provider type and nested type and name metadata is forbidden. With TYPE_AND_NAME, the object key is the globally unique name and nested type selects the provider, defaulting to the object key. Differently named instances of the same type are supported. Object entries have unspecified materialization order.

      This value selects syntax only. It does not select an identity model or constrain the shape of provider-specific content within an entry.

    • LIST

      public static final Option.Provider.ConfigForm LIST
      Require the outer configured-provider container to be a list.

      With TYPE_ONLY, every list entry requires type, forbids name, and types must be unique. With TYPE_AND_NAME, name defaults to type, distinct names distinguish entries of one type, and the same name may be reused for another provider type. An exact duplicate (type, name) pair is invalid and causes configuration to fail; the legacy single-key nested entry syntax is also accepted. Entries are materialized in configured list order.

      This value selects syntax only. It does not select an identity model or constrain provider-specific content beyond the metadata needed by list syntax.

    • OBJECT_OR_LIST

      public static final Option.Provider.ConfigForm OBJECT_OR_LIST
      Accept either an object or a list as the outer configured-provider container.

      Each entry is interpreted using the corresponding OBJECT or LIST rules and the identity selected by Option.Provider.identity(). For TYPE_AND_NAME, object keys supply globally unique names, while list form may reuse a name for different provider types and rejects an exact duplicate (type, name) pair. Both forms support multiple differently named instances of one type. Object form has unspecified materialization order; list form preserves configured order.

      This value selects syntax only. It does not add name identity to TYPE_ONLY, remove name identity from TYPE_AND_NAME, or constrain provider-specific content within an entry.

  • Method Details

    • values

      public static Option.Provider.ConfigForm[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static Option.Provider.ConfigForm valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null