Class LongOption

All Implemented Interfaces:
Cloneable, Comparable<Operand<?>>, ArgsAccessor, Operand<Long>, Option<Long>, Syntaxable, SyntaxUsage, org.refcodes.component.Resetable, org.refcodes.mixin.AliasAccessor, org.refcodes.mixin.Clonable, org.refcodes.mixin.DescriptionAccessor, org.refcodes.mixin.TypeAccessor<Long>, org.refcodes.mixin.ValueAccessor<Long>

public class LongOption
extends AbstractOption<Long>
The LongOption represents an Option holding long values.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.refcodes.mixin.AliasAccessor

    org.refcodes.mixin.AliasAccessor.AliasBuilder<B extends org.refcodes.mixin.AliasAccessor.AliasBuilder<B>>, org.refcodes.mixin.AliasAccessor.AliasMutator, org.refcodes.mixin.AliasAccessor.AliasProperty

    Nested classes/interfaces inherited from interface org.refcodes.cli.ArgsAccessor

    ArgsAccessor.ArgsMutator, ArgsAccessor.ArgsProperty

    Nested classes/interfaces inherited from interface org.refcodes.mixin.DescriptionAccessor

    org.refcodes.mixin.DescriptionAccessor.DescriptionBuilder<B extends org.refcodes.mixin.DescriptionAccessor.DescriptionBuilder<B>>, org.refcodes.mixin.DescriptionAccessor.DescriptionMutator, org.refcodes.mixin.DescriptionAccessor.DescriptionProperty

    Nested classes/interfaces inherited from interface org.refcodes.mixin.TypeAccessor

    org.refcodes.mixin.TypeAccessor.TypeBuilder<T extends Object,​B extends org.refcodes.mixin.TypeAccessor.TypeBuilder<T,​B>>, org.refcodes.mixin.TypeAccessor.TypeMutator<T extends Object>, org.refcodes.mixin.TypeAccessor.TypeProperty<T extends Object>

    Nested classes/interfaces inherited from interface org.refcodes.mixin.ValueAccessor

    org.refcodes.mixin.ValueAccessor.ValueBuilder<V extends Object,​B extends org.refcodes.mixin.ValueAccessor.ValueBuilder<V,​B>>, org.refcodes.mixin.ValueAccessor.ValueMutator<V extends Object>, org.refcodes.mixin.ValueAccessor.ValueProperty<V extends Object>
  • Field Summary

    Fields inherited from class org.refcodes.cli.AbstractOperand

    _value
  • Constructor Summary

    Constructors
    Constructor Description
    LongOption​(String aLongOption, String aAlias, String aDescription)
    Instantiates a new long option impl.
    LongOption​(String aShortOption, String aLongOption, String aAlias, String aDescription)
    Instantiates a new long option impl.
    LongOption​(org.refcodes.struct.Relation<String,​Long> aProperty)
    Instantiates a new long option impl.
  • Method Summary

    Modifier and Type Method Description
    String toUsage​(SyntaxNotation aSyntaxNotation, String aOptionEscCode, String aResetEscCode)
    Returns the human readable (verbose) syntax of implementing class ATTENTION: As of different parenthesis settings for some notations regarding the root Syntaxable and the child Syntaxables, the method Syntaxable.toSyntax(SyntaxNotation, String, String) is called from inside a Syntaxable hierarchy.
    protected Long toValue​(String aArg)
    Double dispatch hook to be implemented by subclasses of the AbstractOperand for converting a command line argument to the required Operand's type.

    Methods inherited from class org.refcodes.cli.AbstractOperand

    compareTo, getAlias, getArgs, getDescription, getType, getValue, reset, toString

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.lang.Comparable

    compareTo

    Methods inherited from interface org.refcodes.mixin.DescriptionAccessor

    getDescription

    Methods inherited from interface org.refcodes.cli.Operand

    get, getAlias, getArgs, getValue, hasValue

    Methods inherited from interface org.refcodes.cli.Option

    getOptions

    Methods inherited from interface org.refcodes.component.Resetable

    reset

    Methods inherited from interface org.refcodes.cli.Syntaxable

    parseArgs, toSyntax

    Methods inherited from interface org.refcodes.cli.SyntaxUsage

    toUsage, toUsage, toUsage

    Methods inherited from interface org.refcodes.mixin.TypeAccessor

    getType

    Methods inherited from interface org.refcodes.mixin.ValueAccessor

    getValueOr
  • Constructor Details

    • LongOption

      public LongOption​(String aLongOption, String aAlias, String aDescription)
      Instantiates a new long option impl.
      Parameters:
      aLongOption - the long option
      aAlias - the option arg name
      aDescription - the description
    • LongOption

      public LongOption​(String aShortOption, String aLongOption, String aAlias, String aDescription)
      Instantiates a new long option impl.
      Parameters:
      aShortOption - the short option
      aLongOption - the long option
      aAlias - the option arg name
      aDescription - the description
    • LongOption

      public LongOption​(org.refcodes.struct.Relation<String,​Long> aProperty)
      Instantiates a new long option impl.
      Parameters:
      aProperty - The key (= alias) and the value for the operand.
  • Method Details

    • toValue

      protected Long toValue​(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:
      toValue in class AbstractOperand<Long>
      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.
    • toUsage

      public String toUsage​(SyntaxNotation aSyntaxNotation, String aOptionEscCode, String aResetEscCode)
      Returns the human readable (verbose) syntax of implementing class ATTENTION: As of different parenthesis settings for some notations regarding the root Syntaxable and the child Syntaxables, the method Syntaxable.toSyntax(SyntaxNotation, String, String) is called from inside a Syntaxable hierarchy. In case the syntax is to be retrieved from the root Syntaxable or an encapsulating and different type, then the applicable method to be called is SyntaxUsage.toUsage(SyntaxNotation), as for some notations it will for example not create the most outer braces.
      Specified by:
      toUsage in interface SyntaxUsage
      Parameters:
      aSyntaxNotation - The syntax notation used for generating the command line arguments syntax.
      aOptionEscCode - The escape code to be used when processing an option, e.g. this can be an ANSI Escape-Code to highlight the option parameters (for example "--help", "-q" and so on).
      aResetEscCode - The escape code to close (reset) any Escape-Code being set before.
      Returns:
      The human readable (verbose) command line arguments syntax.