Package org.refcodes.cli
package org.refcodes.cli
This artifact defines some helpful toolkit to parse your command line
arguments (as passed to your
public static void main( String[] args) { ... } method. It lets
you define the exact valid combinations of command line arguments, it parses
them arguments for you and it lets you print the syntax as you
programmatically defined it. Let's get started!
Please refer to the refcodes-cli: Parse your args[] documentation for an up-to-date and detailed description on the usage of this artifact.
-
ClassDescriptionThe
AbstractConditionis an abstract implementation of theConditioninterface providing the boiler plate when implementing theConditioninterface as done by theAbstractCondition's sub-classes.TheAbstractOperandis an abstract implementation of anOperandproviding the boiler plate when implementing theOperandinterface.TheAbstractOptionis an abstract implementation of anOptionproviding the boiler plate when implementing theOptioninterface.TheAbstractPropertyOptionis an abstract implementation of aPropertyOptionproviding the boiler plate when implementing thePropertyOptioninterface.TheAllConditionenforces that the encapsulatedTermconsumes all arguments passed via invoking itsTerm.parseArgs(String[], CliContext), else aSuperfluousArgsExceptionis thrown.Thrown in case the command line arguments do not match the required syntax.AnAndConditioncontains (represents) a list ofCondition(Term) instances (nested by theAndCondition) of which all are to be parsed successfully as of invoking theTerm.parseArgs(String[], String[], CliContext)methods.Any of the nestedConditionconditions may match for theAnyConditionto match, e.g. all of the nested conditions are optional.Provides an accessor for a command line arguments (short "args") array.Provides a mutator for a args property.Provides a args property.Enumeration declaring command line argument filter.A straightforward implementation of theParseArgsinterface.Provides an accessor for aParseArgsproperty.Provides a builder method for aParseArgsproperty returning the builder for applying multiple build operations.Provides a mutator for aParseArgsproperty.Provides aParseArgsproperty.ArgsParserBuilder<B extends ArgsParserBuilder<B>>This mixin provides builder additions (as of the builder pattern for chained configuring method calls) for parsing command line arguments.ArgsProcessorBuilder<B extends ArgsProcessorBuilder<B>>TheArgsProcessorBuilderprovides common minimum builder functionality required by to build an argument processing instance.ArgsProvidierBuilder<B extends ArgsProvidierBuilder<B>>TheArgsProvidierBuilderinterface provides builder methods for feeding command line arguments.Provides an accessor for a (root)Termproperty.Provides a builder method for a (root)Termproperty returning the builder for applying multiple build operations.Provides a mutator for a (root)Termproperty.Provides a (root)Termproperty.Thrown in case of a command line arguments mismatch regarding provided and expected args.Provides an accessor for a argument Escape-Code property.ArgumentEscapeCodeAccessor.ArgumentEscapeCodeBuilder<B extends ArgumentEscapeCodeAccessor.ArgumentEscapeCodeBuilder<B>>Provides a builder method for a argument Escape-Code property returning the builder for applying multiple build operations.Provides a mutator for a argument Escape-Code property.Provides a argument Escape-Code property.Provides an accessor for an argument prefix property.ArgumentPrefixAccessor.ArgumentPrefixBuilder<B extends ArgumentPrefixAccessor.ArgumentPrefixBuilder<B>>Provides a builder method for an argument prefix property returning the builder for applying multiple build operations.Provides a mutator for an argument prefix property.Provides an argument prefix property.Provides an accessor for an argument suffix property.ArgumentSuffixAccessor.ArgumentSuffixBuilder<B extends ArgumentSuffixAccessor.ArgumentSuffixBuilder<B>>Provides a builder method for an argument suffix property returning the builder for applying multiple build operations.Provides a mutator for an argument suffix property.Provides an argument suffix property.ArrayOperand<T>Creates an array representation facade for the encapsulatedOperand.ArrayOption<T>Creates an array representation facade for the encapsulatedOption.Provides an accessor for a banner border Escape-Code property.BannerBorderEscapeCodeAccessor.BannerBorderEscapeCodeBuilder<B extends BannerBorderEscapeCodeAccessor.BannerBorderEscapeCodeBuilder<B>>Provides a builder method for a banner border Escape-Code property returning the builder for applying multiple build operations.Provides a mutator for a banner border Escape-Code property.Provides a banner border Escape-Code property.Provides an accessor for a banner Escape-Code property.BannerEscapeCodeAccessor.BannerEscapeCodeBuilder<B extends BannerEscapeCodeAccessor.BannerEscapeCodeBuilder<B>>Provides a builder method for a banner Escape-Code property returning the builder for applying multiple build operations.Provides a mutator for a banner Escape-Code property.Provides a banner Escape-Code property.Provides an accessor for a bannerFontproperty.Provides a builder method for a bannerFontproperty returning the builder for applying multiple build operations.Provides a mutator for a bannerFontproperty.Provides a bannerFontproperty.Provides an accessor for a banner font palette property.BannerFontPaletteAccessor.BannerFontPaletteBuilder<B extends BannerFontPaletteAccessor.BannerFontPaletteBuilder<B>>Provides a builder method for a banner font palette property returning the builder for applying multiple build operations.Provides a mutator for a banner font palette property.Provides a banner font palette property.TheCasesConditionis anXorConditionmaking sure that all possible cases inside theXorConditionmust(!)A predefined cleanFlag: A predefinedFlaggives itsCleanFlag.SHORT_OPTION, itsCleanFlag.LONG_OPTIONas well as itsCleanFlag.ALIASan according semantics regarded by other subsystems.TheCliContextdescribes the context in which anParseArgsis running.Builder to buildSyntaxMetricsAccessor.SyntaxMetricsBuilderinstances.Provides an accessor for aCliContextproperty.Provides a builder method for aCliContextproperty returning the builder for applying multiple build operations.Provides a mutator for aCliContextproperty.Provides aCliContextproperty.Base exception for the CLI artifact.This abstract exception is the base exception for all command line argument related exceptions.Provides an accessor for a command Escape-Code property.CommandEscapeCodeAccessor.CommandEscapeCodeBuilder<B extends CommandEscapeCodeAccessor.CommandEscapeCodeBuilder<B>>Provides a builder method for a command Escape-Code property returning the builder for applying multiple build operations.Provides a mutator for a command Escape-Code property.Provides a command Escape-Code property.TheConfigOptionrepresents anOptionholding a value specifying a configuration resource (file).TheConfigPropertyrepresents anPropertyOptionholding a value specifying a configuration resource (file).Provides an accessor for a copyright property.Provides a builder method for a copyright property returning the builder for applying multiple build operations.Provides a mutator for a copyright property.Provides a copyright property.A predefined daemonFlag: A predefinedFlaggives itsDaemonFlag.SHORT_OPTION, itsDaemonFlag.LONG_OPTIONas well as itsDaemonFlag.ALIASan according semantics regarded by other subsystems.A predefined debugFlag: A predefinedFlaggives itsDebugFlag.SHORT_OPTION, itsDebugFlag.LONG_OPTIONas well as itsDebugFlag.ALIASan according semantics regarded by other subsystems.Provides an accessor for a description Escape-Code property.DescriptionEscapeCodeAccessor.DescriptionEscapeCodeBuilder<B extends DescriptionEscapeCodeAccessor.DescriptionEscapeCodeBuilder<B>>Provides a builder method for a description Escape-Code property returning the builder for applying multiple build operations.Provides a mutator for a description Escape-Code property.Provides a description Escape-Code property.EnumOption<T extends Enum<T>>TheEnumOptionrepresents anOptionof enumeration types.EnumProperty<T extends Enum<T>>TheEnumPropertyrepresents anPropertyOptionof enumeration types.An example usage item describing a usage scenario.Provides an accessor for anExampleinstances property.Provides a builder method for anExampleinstances property returning the builder for applying multiple build operations.Provides a mutator for anExampleinstances property.Provides anExampleinstances property.TheFlagclass implements theOptioninterface for representing either atrueor afalsestate: When a flag is provided to your command line arguments, then it is considered to betrue, when it is omitted, then it is considered to befalseas ofFlag.isEnabled().A predefined forceFlag: A predefinedFlaggives itsForceFlag.SHORT_OPTION, itsForceFlag.LONG_OPTIONas well as itsForceFlag.ALIASan according semantics regarded by other subsystems.A predefined helpFlag: A predefinedFlaggives itsHelpFlag.SHORT_OPTION, itsHelpFlag.LONG_OPTIONas well as itsHelpFlag.ALIASan according semantics regarded by other subsystems.A predefined initFlag: A predefinedFlaggives itsInitFlag.SHORT_OPTION, itsInitFlag.LONG_OPTIONas well as itsInitFlag.ALIASan according semantics regarded by other subsystems.Provides an accessor for a license property.LicenseAccessor.LicenseBuilder<B extends LicenseAccessor.LicenseBuilder<B>>Provides a builder method for a license property returning the builder for applying multiple build operations.Provides a mutator for a license property.Provides a license property.Provides an accessor for a line separator Escape-Code property.LineSeparatorEscapeCodeAccessor.LineSeparatorEscapeCodeBuilder<B extends LineSeparatorEscapeCodeAccessor.LineSeparatorEscapeCodeBuilder<B>>Provides a builder method for a line separator Escape-Code property returning the builder for applying multiple build operations.Provides a mutator for a line separator Escape-Code property.Provides a line separator Escape-Code property.Provides an accessor for a long option property.Provides a builder method for a long option property returning the builder for applying multiple build operations.Provides a mutator for a long option property.Provides a long option property.Provides an accessor for a long option prefix property.LongOptionPrefixAccessor.LongOptionPrefixBuilder<B extends LongOptionPrefixAccessor.LongOptionPrefixBuilder<B>>Provides a builder method for a long option prefix property returning the builder for applying multiple build operations.Provides a mutator for a long option prefix property.Provides a long option prefix property.Provides an accessor for a long option prefix property.LongPropertyPrefixAccessor.LongPropertyPrefixBuilder<B extends LongPropertyPrefixAccessor.LongPropertyPrefixBuilder<B>>Provides a builder method for a long option prefix property returning the builder for applying multiple build operations.Provides a mutator for a long option prefix property.Provides a long option prefix property.Provides an accessor for a match-count property.Provides a builder method for a match-count property returning the builder for applying multiple build operations.Provides a mutator for a match-count property.Provides a match-count property.TheNoneOperandrepresents an empty set of arguments, e.g. no command line argument is being passed.Operand<T>AnOperandrepresents a value parsed from command line arguments.TheOperationis an argument representing a function or a method ("command") and is either provided or not provided as ofOperation.isEnabled().Option<T>AnOptionrepresents a command line option with the according option's value.Provides means to determine context specific information onOptioninstances.Provides an accessor for a option Escape-Code property.OptionEscapeCodeAccessor.OptionEscapeCodeBuilder<B extends OptionEscapeCodeAccessor.OptionEscapeCodeBuilder<B>>Provides a builder method for a option Escape-Code property returning the builder for applying multiple build operations.Provides a mutator for a option Escape-Code property.Provides a option Escape-Code property.AnOrConditionrepresents a list ofCondition(Term) instances of which at least one must be parsed successfully when theTerms'Term.parseArgs(String[], String[], CliContext)methods are invoked.TheParseArgsprovides means for parsing command line arguments and constructing a command line utility's help output.Thrown in case the provided command line arguments do not respect the required semantics or cannot be converted to the required type.Provides an accessor for a command line arguments (short "args") array.Provides a mutator for a parsed args property.Provides a parsed args property.Thrown in case the provided command line arguments do not respect the required semantics or cannot be converted to the required type by anOption(having a short- and/or a long-option), e.g. the arguments were rejected as them did not work for the according syntax.Provides an accessor for a option Escape-Code property.PropertyEscapeCodeAccessor.PropertyEscapeCodeBuilder<B extends PropertyEscapeCodeAccessor.PropertyEscapeCodeBuilder<B>>Provides a builder method for a option Escape-Code property returning the builder for applying multiple build operations.Provides a mutator for a option Escape-Code property.Provides a option Escape-Code property.AnPropertyOptionrepresents a command line property with the according porperty's key and value.A predefined "be quiet"Flag: A predefinedFlaggives itsQuietFlag.SHORT_OPTION, itsQuietFlag.LONG_OPTIONas well as itsQuietFlag.ALIASan according semantics regarded by other subsystems.Provides an accessor for a short option property.Provides a builder method for a short option property returning the builder for applying multiple build operations.Provides a mutator for a short option property.Provides a short option property.Provides an accessor for a short option prefix property.ShortOptionPrefixAccessor.ShortOptionPrefixBuilder<B extends ShortOptionPrefixAccessor.ShortOptionPrefixBuilder<B>>Provides a builder method for a short option prefix property returning the builder for applying multiple build operations.Provides a mutator for a short option prefix property.Provides a short option prefix property.Provides an accessor for a short option prefix property.ShortPropertyPrefixAccessor.ShortPropertyPrefixBuilder<B extends ShortPropertyPrefixAccessor.ShortPropertyPrefixBuilder<B>>Provides a builder method for a short option prefix property returning the builder for applying multiple build operations.Provides a mutator for a short option prefix property.Provides a short option prefix property.Thrown in case there were arguments found not being used (superfluous arguments).TheSynopsisableinterface defines those methods required to create a human readable usageStringsimilar to a manpage's synopsis from the implementing instance.TheSyntaxMetricsprovides properties specific to a specific command line syntax notation.Provides an accessor for aSyntaxMetricsproperty.Provides a builder method for aSyntaxMetricsproperty returning the builder for applying multiple build operations.Provides a mutator for aSyntaxMetricsproperty.Provides aSyntaxMetricsproperty.TheSyntaxMetricsImplclass implements theSyntaxMetricsinterface for building customSyntaxMetricsinstances.Builder to buildSyntaxMetricsinstances.TheSyntaxNotationis used by a theTerm.toSyntax(CliContext)method to determine which notation to be used for the generated syntax.A predefined system informationFlag: A predefinedFlaggives itsSysInfoFlag.SHORT_OPTION, itsSysInfoFlag.LONG_OPTIONas well as itsSysInfoFlag.ALIASan according semantics regarded by other subsystems..ATermdefines the methods at least required when building a command line arguments syntax tree for traversing the syntax tree; either for parsing command line arguments or for constructing the command line arguments syntax.Thrown in case command line arguments were not processed (did not match the expected arguments), e.g. the arguments were rejected as them did not work for the according syntax.Thrown in case command line arguments were not processed (did not match the expected arguments) by anOption(having a short- and/or a long-option), e.g. the arguments were rejected as them did not work for the according syntax.A predefined verboseFlag: A predefinedFlaggives itsVerboseFlag.SHORT_OPTION, itsVerboseFlag.LONG_OPTIONas well as itsVerboseFlag.ALIASan according semantics regarded by other subsystems.AnXorConditionrepresents a list ofCondition(Term) instances of which only one is allowed to be parsed successfully when theTerm.parseArgs(String[], String[], CliContext)methods are invoked.