Enum Class Option.Provider.Identity

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

public static enum Option.Provider.Identity extends Enum<Option.Provider.Identity>
Identity model for configured provider instances.

Identity and configuration form are separate axes. Neither enum value selects object or list syntax by itself when an explicit form is configured.

  • Enum Constant Details

    • TYPE_ONLY

      public static final Option.Provider.Identity TYPE_ONLY
      Use provider type as the complete configured-instance identity.

      At most one configured instance may exist for each provider type. In object form, the object key supplies the provider type; nested type and name metadata properties are forbidden. In list form, each entry must declare type, must not declare name, and provider types must be unique. The two forms represent the same set of unique provider types. Object form has unspecified materialization order, while list form preserves configured order.

      This value selects identity only; it does not require object syntax. Use LIST or OBJECT_OR_LIST when list syntax is intentionally supported. Provider-specific content within an entry retains the shape accepted by that provider.

    • TYPE_AND_NAME

      public static final Option.Provider.Identity TYPE_AND_NAME
      Use provider type and instance name together as the configured-instance identity.

      In object form, the object key supplies the name and nested type selects the provider, defaulting to the object key when omitted. Object keys make names globally unique, and object form has unspecified materialization order. In list form, each entry declares type; name defaults to type when omitted. A list may reuse a name for a different provider type, while an exact duplicate (type, name) pair is invalid and causes configuration to fail. List form preserves configured order. Object form is intentionally less expressive because it cannot reuse a name across provider types. Both forms allow multiple differently named instances of the same provider type. The legacy single-key nested list-entry syntax remains accepted.

      This value selects identity only; it does not enable list syntax. An explicit OBJECT requires an object, while LIST requires a list. Provider-specific content within an entry retains the shape accepted by that provider.

  • Method Details

    • values

      public static Option.Provider.Identity[] 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.Identity 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