Class DoubleProperty

All Implemented Interfaces:
Cloneable, Comparable<Operand<?>>, MatchCountAccessor, Operand<Double>, Option<Double>, ParsedArgsAccessor, PropertyOption<Double>, Synopsisable, Term, org.refcodes.exception.ExceptionAccessor<ArgsSyntaxException>, org.refcodes.mixin.AliasAccessor, org.refcodes.mixin.Clonable, org.refcodes.mixin.DescriptionAccessor, org.refcodes.mixin.Resetable, org.refcodes.mixin.Schemable, org.refcodes.mixin.TypeAccessor<Double>, org.refcodes.mixin.ValueAccessor<Double>

public class DoubleProperty extends AbstractPropertyOption<Double>
The DoubleProperty represents an PropertyOption holding double values.
  • Field Details

  • Constructor Details

    • DoubleProperty

      public DoubleProperty(Character aShortProperty, String aLongProperty, String aDescription)
      Instantiates a new DoubleProperty 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:
      aShortProperty - The short option to use.
      aLongProperty - The long option to use.
      aDescription - The description of the DoubleProperty
    • DoubleProperty

      public DoubleProperty(Character aShortOption, String aLongOption, String aDescription, Consumer<DoubleProperty> aConsumer)
      Instantiates a new DoubleProperty 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 DoubleProperty
      aConsumer - The Consumer being invoked in case this DoubleProperty participated in successfully parsing the command line arguments.
    • DoubleProperty

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

      public DoubleProperty(Character aShortOption, String aLongOption, String aAlias, String aDescription, Consumer<DoubleProperty> aConsumer)
      Instantiates a new DoubleProperty 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 DoubleProperty
      aConsumer - The Consumer being invoked in case this DoubleProperty participated in successfully parsing the command line arguments.
    • DoubleProperty

      public DoubleProperty(org.refcodes.struct.Relation<String,Double> aProperty)
      Instantiates a new DoubleProperty 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.
    • DoubleProperty

      public DoubleProperty(org.refcodes.struct.Relation<String,Double> aProperty, Consumer<DoubleProperty> aConsumer)
      Instantiates a new DoubleProperty 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 DoubleProperty participated in successfully parsing the command line arguments.
    • DoubleProperty

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

      public DoubleProperty(String aLongOption, String aDescription, Consumer<DoubleProperty> aConsumer)
      Instantiates a new DoubleProperty 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 DoubleProperty
      aConsumer - The Consumer being invoked in case this DoubleProperty participated in successfully parsing the command line arguments.
    • DoubleProperty

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

      public DoubleProperty(String aLongOption, String aAlias, String aDescription, Consumer<DoubleProperty> aConsumer)
      Instantiates a new DoubleProperty 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 DoubleProperty
      aConsumer - The Consumer being invoked in case this DoubleProperty participated in successfully parsing the command line arguments.
  • Method Details

    • toType

      protected Double 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<Double>
      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.
    • 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.