Collection Option Builder
Abstract base class for collection option builders (List and Set).
This class provides shared functionality for both OptionListBuilder and OptionSetBuilder, including common constructor parameters, constraint handling, and property delegation logic.
Inheritors
Functions
Creates an "at least one" constraint with other options. At least one option from this group (including this option) must be provided.
Creates an "at most one" constraint with other options. At most one option from this group (including this option) may be provided.
Specifies that this collection option conflicts with other options. If this option is provided along with any of the conflicting options, parsing will fail with an error.
Creates an "exactly one" constraint with other options. Exactly one option from this group (including this option) must be provided.
Marks this collection option as hidden from help output. Hidden options are not displayed in help text but remain functional.
Restricts this collection option to only be available in specific domains. When specified, this option will only be recognized when one of the referenced domains is active.
Registers a callback to be executed when this collection option's values are found during parsing. The callback receives each converted value and is executed after all parsing and validation completes. For collection options, the callback is called once for each element in the collection.
Provides the property delegate implementation for collection options. This method is called automatically by Kotlin's property delegation system. It registers the option with the Arguments instance and returns a delegate that provides access to the parsed collection value.
Makes this collection option required if all of the referenced options are present. This creates a conditional requirement where providing all of the trigger options makes this option mandatory.
Makes this collection option required if any of the referenced options are present. This creates a conditional requirement where providing any of the trigger options makes this option mandatory.
Adds validation for the entire collection after all elements are parsed. This validation is applied to the complete collection, allowing validation of collection-level properties like size, uniqueness, etc.