Enum Class Option.Provider.ConfigForm
- All Implemented Interfaces:
Serializable, Comparable<Option.Provider.ConfigForm>, Constable
- Enclosing class:
Option.Provider
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.
-
Nested Class Summary
Nested classes/interfaces inherited from class Enum
Enum.EnumDesc<E> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionSelect the outer configuration form fromidentity.Require the outer configured-provider container to be a list.Require the outer configured-provider container to be an object.Accept either an object or a list as the outer configured-provider container. -
Method Summary
Modifier and TypeMethodDescriptionstatic Option.Provider.ConfigFormReturns the enum constant of this class with the specified name.static Option.Provider.ConfigForm[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
AUTO
Select the outer configuration form fromidentity.TYPE_ONLYresolves toOBJECT, whileTYPE_AND_NAMEresolves toOBJECT_OR_LIST.Together with the default
TYPE_AND_NAMEidentity, 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
Require the outer configured-provider container to be an object.With
TYPE_ONLY, each object key is the provider type and nestedtypeandnamemetadata is forbidden. WithTYPE_AND_NAME, the object key is the globally unique name and nestedtypeselects 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
Require the outer configured-provider container to be a list.With
TYPE_ONLY, every list entry requirestype, forbidsname, and types must be unique. WithTYPE_AND_NAME,namedefaults totype, 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
Accept either an object or a list as the outer configured-provider container.Each entry is interpreted using the corresponding
OBJECTorLISTrules and the identity selected byOption.Provider.identity(). ForTYPE_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 fromTYPE_AND_NAME, or constrain provider-specific content within an entry.
-
-
Method Details
-
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
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 nameNullPointerException- if the argument is null
-