Domain Builder
Builder for creating command-line domains (subcommands) with various configurations and constraints.
This class provides a fluent API for defining domains that can have their own sets of available options and domain-scoped constraints. Domains are useful for creating subcommands or modes in command-line applications.
Domains can be:
Regular domains: selectable from command line
Fragments: constraint templates that are never selectable but can be inherited by other domains
Functions
Adds aliases for this domain.
Requires at least n values for the specified property when this domain is active.
Ensures at least one of the specified properties is provided when this domain is active.
Ensures at most one of the specified properties is provided when this domain is active.
Specifies that the specified properties conflict with each other when this domain is active.
Ensures exactly one of the specified properties is provided when this domain is active.
Sets help text for this domain.
Inherits constraints from other domains or fragments.
Sets the display label for this domain.
Provides the property delegate implementation for domain options. This method is called automatically by Kotlin's property delegation system. It registers the domain with the Arguments instance and returns a delegate that indicates whether this domain is currently active/selected.
Requires the specified property to be present when this domain is active.
Requires the target property to be present when all of the specified properties are present and this domain is active.
Requires the target property to be present when any of the specified properties are present and this domain is active.
Requires the target property to be present when the specified property matches the given predicate and this domain is active.