Interface ArgsSyntax

All Superinterfaces:
org.refcodes.mixin.Resetable, org.refcodes.mixin.Schemable<CliSchema>, Synopsisable, Syntaxable
All Known Subinterfaces:
Condition
All Known Implementing Classes:
AbstractCondition, AllCondition, AndCondition, AnyCondition, CasesCondition, OptionCondition, OrCondition, XorCondition

public interface ArgsSyntax extends Syntaxable
The ArgsSyntax interface represents a node (and therewith the syntax for the arguments) in the command line arguments syntax tree; simply extending the Syntaxable interface and adding the functionality of providing access to the added Operands (leafs). In future extensions, a ArgsSyntax might provide access to the child Syntaxable elements contained in a ArgsSyntax instance. As of the current findings, access to the children of the ArgsSyntax node is not required and would make the interface unnecessarily complicated.
  • Method Details

    • toOperands

      List<? extends Operand<?>> toOperands()
      Traverses the hierarchy of ArgsSyntaxs and collects all therein found Operands and sub-types such as the Flag or the Option. This is most useful when creating a list of Options, Flages and Operands when printing out detailed help.
      Returns:
      The according Operand elements.
    • toOperand

      default Operand<?> toOperand(String aAlias)
      Traverses the hierarchy of ArgsSyntax tree and returns the (first) operand matching the given alias.
      Parameters:
      aAlias - The alias for which to seek for.
      Returns:
      The according Operand element or null if none matching was found.
    • toOperand

      default <T extends Operand<?>> T toOperand(Class<T> aType)
      Traverses the hierarchy of ArgsSyntax tree and returns the (first) operand matching the given type.
      Type Parameters:
      T - the generic type
      Parameters:
      aType - The type for which to seek for.
      Returns:
      The according Operand element or null if none matching was found
    • toOperand

      <T extends Operand<?>> T toOperand(String aAlias, Class<T> aType)
      Traverses the hierarchy of ArgsSyntax tree and returns the (first) operand matching the given alias and type.
      Type Parameters:
      T - the generic type
      Parameters:
      aAlias - The alias for which to seek for.
      aType - The type for which to seek for.
      Returns:
      The according Operand element or null if none matching was found