arq.cmdline
Class CmdLineArgs

java.lang.Object
  extended by arq.cmdline.CommandLineBase
      extended by arq.cmdline.CmdLineArgs
Direct Known Subclasses:
CmdMain

public class CmdLineArgs
extends CommandLineBase

Command line, using the common named/positional arguments paradigm (also called options/arguments).

Author:
Andy Seaborne

Constructor Summary
CmdLineArgs(java.lang.String[] args)
           
 
Method Summary
 CmdLineArgs add(ArgDecl arg)
          Add an argument object
 CmdLineArgs add(boolean hasValue, java.lang.String argName)
          Add an argument to those to be accepted on the command line.
 CmdLineArgs add(java.lang.String argName, boolean hasValue)
          Add an argument to those to be accepted on the command line.
 CmdLineArgs addArg(java.lang.String name)
          Add a named argument which has no value.
 CmdLineArgs addArg(java.lang.String name, java.lang.String value)
          Add a named argument/value pair
 CmdLineArgs addPositional(java.lang.String value)
          Add a positional parameter
 boolean contains(ArgDecl argDecl)
          Test whether an argument was seen.
 boolean contains(java.lang.String s)
          Test whether an argument was seen.
 boolean containsMultiple(ArgDecl argDecl)
          Test whether an argument was seen more than once
 boolean containsMultiple(java.lang.String s)
          Test whether an argument was seen more than once
 Arg getArg(ArgDecl argDecl)
          Get the argument associated with the argument declaration.
 Arg getArg(java.lang.String argName)
          Get the argument associated with the arguement name.
 int getNumPositional()
           
 java.util.List<java.lang.String> getPositional()
           
 java.lang.String getPositionalArg(int i)
          Get the positional argument
 java.lang.String getValue(ArgDecl argDecl)
          Returns the value (a string) for an argument with a value - returns null for no argument and no value.
 java.lang.String getValue(java.lang.String argName)
          Returns the value (a string) for an argument with a value - returns null for no argument and no value.
 java.util.List<java.lang.String> getValues(ArgDecl argDecl)
          Returns all the values (0 or more strings) for an argument.
 java.util.List<java.lang.String> getValues(java.lang.String argName)
          Returns all the values (0 or more strings) for an argument.
 boolean hasArg(ArgDecl argDecl)
          Test whether the command line had a particular argument
 boolean hasArg(java.lang.String argName)
          Test whether the command line had a particular argument
 boolean hasArgs()
           
 boolean hasPositional()
           
 boolean hasValueOfFalse(ArgDecl argDecl)
          Is the value something that looks like "false" or "no"?
 boolean hasValueOfTrue(ArgDecl argDecl)
          Is the value something that looks like "true" or "yes"?
 java.lang.String indirect(java.lang.String s)
           
 java.lang.String indirect(java.lang.String s, java.lang.String marker)
           
 boolean matchesIndirect(java.lang.String s)
           
 boolean matchesIndirect(java.lang.String s, java.lang.String marker)
           
 void process()
           
 java.lang.String toString()
           
 
Methods inherited from class arq.cmdline.CommandLineBase
setArgs
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CmdLineArgs

public CmdLineArgs(java.lang.String[] args)
Method Detail

process

public void process()
             throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

add

public CmdLineArgs add(java.lang.String argName,
                       boolean hasValue)
Add an argument to those to be accepted on the command line.

Parameters:
argName - Name
hasValue - True if the command takes a (string) value
Returns:
The CommandLine processor object

add

public CmdLineArgs add(boolean hasValue,
                       java.lang.String argName)
Add an argument to those to be accepted on the command line. Argument order reflects ArgDecl.

Parameters:
hasValue - True if the command takes a (string) value
argName - Name
Returns:
The CommandLine processor object

add

public CmdLineArgs add(ArgDecl arg)
Add an argument object

Parameters:
arg - Argument to add
Returns:
The CommandLine processor object

addPositional

public CmdLineArgs addPositional(java.lang.String value)
Add a positional parameter

Parameters:
value -
Returns:
this object

addArg

public CmdLineArgs addArg(java.lang.String name)
Add a named argument which has no value.

Parameters:
name -
Returns:
this

addArg

public CmdLineArgs addArg(java.lang.String name,
                          java.lang.String value)
Add a named argument/value pair

Parameters:
name -
value -
Returns:
this object

matchesIndirect

public boolean matchesIndirect(java.lang.String s)

matchesIndirect

public boolean matchesIndirect(java.lang.String s,
                               java.lang.String marker)

indirect

public java.lang.String indirect(java.lang.String s)

indirect

public java.lang.String indirect(java.lang.String s,
                                 java.lang.String marker)

contains

public boolean contains(ArgDecl argDecl)
Test whether an argument was seen.


contains

public boolean contains(java.lang.String s)
Test whether an argument was seen.


containsMultiple

public boolean containsMultiple(java.lang.String s)
Test whether an argument was seen more than once


containsMultiple

public boolean containsMultiple(ArgDecl argDecl)
Test whether an argument was seen more than once


hasArgs

public boolean hasArgs()

hasArg

public boolean hasArg(java.lang.String argName)
Test whether the command line had a particular argument

Parameters:
argName -
Returns:
this object

hasArg

public boolean hasArg(ArgDecl argDecl)
Test whether the command line had a particular argument

Parameters:
argDecl -
Returns:
true or false

getArg

public Arg getArg(ArgDecl argDecl)
Get the argument associated with the argument declaration. Actually returns the LAST one seen

Parameters:
argDecl - Argument declaration to find
Returns:
Last argument that matched.

getArg

public Arg getArg(java.lang.String argName)
Get the argument associated with the arguement name. Actually returns the LAST one seen

Parameters:
argName - Argument name
Returns:
Last argument that matched.

getValue

public java.lang.String getValue(ArgDecl argDecl)
Returns the value (a string) for an argument with a value - returns null for no argument and no value.

Parameters:
argDecl -
Returns:
String

getValue

public java.lang.String getValue(java.lang.String argName)
Returns the value (a string) for an argument with a value - returns null for no argument and no value.

Parameters:
argName -
Returns:
String

hasValueOfTrue

public boolean hasValueOfTrue(ArgDecl argDecl)
Is the value something that looks like "true" or "yes"?


hasValueOfFalse

public boolean hasValueOfFalse(ArgDecl argDecl)
Is the value something that looks like "false" or "no"?


getValues

public java.util.List<java.lang.String> getValues(ArgDecl argDecl)
Returns all the values (0 or more strings) for an argument.

Parameters:
argDecl -
Returns:
List

getValues

public java.util.List<java.lang.String> getValues(java.lang.String argName)
Returns all the values (0 or more strings) for an argument.

Parameters:
argName -
Returns:
List

getPositionalArg

public java.lang.String getPositionalArg(int i)
Get the positional argument


getNumPositional

public int getNumPositional()

hasPositional

public boolean hasPositional()

getPositional

public java.util.List<java.lang.String> getPositional()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2004, 2005, 2006, 2007, 2008, 2009 Hewlett-Packard Development Company, LP