Class FloatOption

All Implemented Interfaces:
Cloneable, Comparable<Operand<?>>, MatchCountAccessor, Operand<Float>, Option<Float>, ParsedArgsAccessor, Synopsisable, Term, org.refcodes.exception.ExceptionAccessor<ArgsSyntaxException>, org.refcodes.graphical.VisibleAccessor, org.refcodes.graphical.VisibleAccessor.VisibleBuilder<Term>, org.refcodes.graphical.VisibleAccessor.VisibleMutator, org.refcodes.graphical.VisibleAccessor.VisibleProperty, org.refcodes.mixin.AliasAccessor, org.refcodes.mixin.Clonable, org.refcodes.mixin.DescriptionAccessor, org.refcodes.mixin.Resetable, org.refcodes.mixin.TypeAccessor<Float>, org.refcodes.mixin.ValueAccessor<Float>, org.refcodes.schema.Schemable

public class FloatOption extends AbstractOption<Float>
The FloatOption represents an Option holding float values.
  • Field Details

    • _description

      protected String _description
    • _exception

      protected ArgsSyntaxException _exception
    • _isVisible

      protected boolean _isVisible
  • Constructor Details

    • FloatOption

      public FloatOption(Character aShortOption, String aLongOption, String aDescription)
      Instantiates a new FloatOption with the given arguments. In case a long option is provided, the intance's alias will automatically be set with the long option, else the short option is used ass alias.
      Parameters:
      aShortOption - The short option to use.
      aLongOption - The long option to use.
      aDescription - The description of the FloatOption
    • FloatOption

      public FloatOption(Character aShortOption, String aLongOption, String aDescription, Consumer<FloatOption> aConsumer)
      Instantiates a new FloatOption with the given arguments. In case a long option is provided, the intance's alias will automatically be set with the long option, else the short option is used ass alias.
      Parameters:
      aShortOption - The short option to use.
      aLongOption - The long option to use.
      aDescription - The description of the FloatOption
      aConsumer - The Consumer being invoked in case this FloatOption participated in successfully parsing the command line arguments.
    • FloatOption

      public FloatOption(Character aShortOption, String aLongOption, String aAlias, String aDescription)
      Instantiates a new FloatOption with the given arguments.
      Parameters:
      aShortOption - The short option to use.
      aLongOption - The long option to use.
      aAlias - The alias to be used for naming purposes.
      aDescription - The description of the FloatOption
    • FloatOption

      public FloatOption(Character aShortOption, String aLongOption, String aAlias, String aDescription, Consumer<FloatOption> aConsumer)
      Instantiates a new FloatOption with the given arguments.
      Parameters:
      aShortOption - The short option to use.
      aLongOption - The long option to use.
      aAlias - The alias to be used for naming purposes.
      aDescription - The description of the FloatOption
      aConsumer - The Consumer being invoked in case this FloatOption participated in successfully parsing the command line arguments.
    • FloatOption

      public FloatOption(org.refcodes.struct.Relation<String,Float> aProperty)
      Instantiates a new FloatOption with the alias being the proerty's key and the value being the property's value. Depending on the provided property's key, the key is either used for the short option or the long option.
      Parameters:
      aProperty - The key (=alias) and the value for the operand.
    • FloatOption

      public FloatOption(org.refcodes.struct.Relation<String,Float> aProperty, Consumer<FloatOption> aConsumer)
      Instantiates a new FloatOption with the alias being the proerty's key and the value being the property's value. Depending on the provided property's key, the key is either used for the short option or the long option.
      Parameters:
      aProperty - The key (=alias) and the value for the operand.
      aConsumer - The Consumer being invoked in case this FloatOption participated in successfully parsing the command line arguments.
    • FloatOption

      public FloatOption(String aLongOption, String aDescription)
      Instantiates a new FloatOption with the given arguments. In case a long option is provided, the intance's alias will automatically be set with the long option.
      Parameters:
      aLongOption - The long option to use.
      aDescription - The description of the FloatOption
    • FloatOption

      public FloatOption(String aLongOption, String aDescription, Consumer<FloatOption> aConsumer)
      Instantiates a new FloatOption with the given arguments. In case a long option is provided, the intance's alias will automatically be set with the long option.
      Parameters:
      aLongOption - The long option to use.
      aDescription - The description of the FloatOption
      aConsumer - The Consumer being invoked in case this FloatOption participated in successfully parsing the command line arguments.
    • FloatOption

      public FloatOption(String aLongOption, String aAlias, String aDescription)
      Instantiates a new FloatOption with the given arguments.
      Parameters:
      aLongOption - The long option to use.
      aAlias - The alias to be used for naming purposes.
      aDescription - The description of the FloatOption
    • FloatOption

      public FloatOption(String aLongOption, String aAlias, String aDescription, Consumer<FloatOption> aConsumer)
      Instantiates a new FloatOption with the given arguments.
      Parameters:
      aLongOption - The long option to use.
      aAlias - The alias to be used for naming purposes.
      aDescription - The description of the FloatOption
      aConsumer - The Consumer being invoked in case this FloatOption participated in successfully parsing the command line arguments.
  • Method Details

    • withVisible

      public FloatOption withVisible(boolean isVisible)
      Visibility in this context means displaying or hiding this Term's existence to the user (defaults to true).
    • toType

      protected Float toType(String aArg) throws ParseArgsException
      Double dispatch hook to be implemented by subclasses of the AbstractOperand for converting a command line argument to the required Operand's type. In case conversion failed, then an according exception is to be thrown.
      Specified by:
      toType in class AbstractOperand<Float>
      Parameters:
      aArg - The command line argument to be converted to an instance of the given type T.
      Returns:
      An instance of type T from the provided command line argument.
      Throws:
      ParseArgsException - Thrown in case the provided command line arguments do not respect the required syntax or cannot be converted to the required type.
    • getDescription

      public String getDescription()
      Specified by:
      getDescription in interface org.refcodes.mixin.DescriptionAccessor
    • getException

      public ArgsSyntaxException getException()
      Retrieves the ArgsSyntaxException exception in case invoking Term.parseArgs(String[], CliContext) failed. The exception (and the according suppressed ones alongside the causes) does not necessarily have been thrown by the Term.parseArgs(String[], CliContext) method depending on the semantics of the Term handing the exception (the AnyCondition provides any exceptions it caught even though it did not throw them as of its semantics).
      Specified by:
      getException in interface org.refcodes.exception.ExceptionAccessor<ArgsSyntaxException>
      Specified by:
      getException in interface Term
      Returns:
      The ArgsSyntaxException exception occurring while parsing the arguments.
    • setVisible

      public void setVisible(boolean isVisible)
      Visibility in this context means displaying or hiding this Term's existence to the user (defaults to true).
      Specified by:
      setVisible in interface Term
      Specified by:
      setVisible in interface org.refcodes.graphical.VisibleAccessor.VisibleMutator
    • isVisible

      public boolean isVisible()
      Visibility in this context means displaying or hiding this Term's existence to the user (defaults to true).
      Specified by:
      isVisible in interface Term
      Specified by:
      isVisible in interface org.refcodes.graphical.VisibleAccessor
    • toArgsDiff

      protected static String[] toArgsDiff(String[] aArgs, List<? extends Operand<?>> aArgsSubset)
      Creates the difference between the provided set and the provided Lists therein found argument arrays subset (as of Operand.getParsedArgs()).
      Parameters:
      aArgs - The set to be used for the diff operation.
      aArgsSubset - The subset to be used for the diff operation being the lists containing the Operand instances whose command line arguments are to be diffed.
      Returns:
      The difference between the set and the subset.
    • toArgsDiff

      protected static String[] toArgsDiff(String[] aArgs, Operand<?>[] aArgsSubset)
      Creates the difference between the provided set and the provided Lists therein found argument arrays subset (as of Operand.getParsedArgs()).
      Parameters:
      aArgs - The set to be used for the diff operation.
      aArgsSubset - The subset to be used for the diff operation being the lists containing the Operand instances whose command line arguments are to be diffed.
      Returns:
      The difference between the set and the subset.
    • toArgsDiff

      protected static String[] toArgsDiff(String[] aArgs, String[] aArgsSubset)
      Creates the difference between the provided set and the provided subset.
      Parameters:
      aArgs - The set to be used for the diff operation.
      aArgsSubset - The subset to be used for the diff operation.
      Returns:
      The difference between the set and the subset.
    • toParsedArgs

      protected static String[] toParsedArgs(Operand<?>[]... aOperands)
      Takes all Operand instances found in the provided Lists and adds all therein found argument arrays (as of Operand.getParsedArgs()) to the result.
      Parameters:
      aOperands - The lists containing the Operand instances whose command line arguments are to be added to the result.
      Returns:
      All the command line arguments detected in the provided Operands Lists.