org.apache.ode.utils.cli
Class FlagWithArgument

java.lang.Object
  extended by org.apache.ode.utils.cli.FlagWithArgument
All Implemented Interfaces:
CommandlineFragment

public class FlagWithArgument
extends java.lang.Object
implements CommandlineFragment

A fragment that represents a flag with an argument, e.g., --foo bar.


Field Summary
 
Fields inherited from interface org.apache.ode.utils.cli.CommandlineFragment
COMMAND_PREFIX
 
Constructor Summary
FlagWithArgument(java.lang.String name, java.lang.String argName, java.lang.String description, boolean optional)
          Construct a new fragment holder.
 
Method Summary
 java.util.List<java.lang.String> consume(java.util.List<java.lang.String> s)
           Grab the pieces of the commandline relevant to this argument, configure the implementation, and then return a new array of arguments that will have the pieces of the original commandline that this command used removed.
 java.lang.String getDescription()
           Return a description of this commandline fragment.
 java.lang.String getUsage()
           Construct a usage string for this commandline fragment.
 java.lang.String getValue()
           
 boolean isOptional()
           
 boolean isSet()
           
 void reset()
           Reset the fragment to its initial state.
 void setOptional(boolean o)
           
 boolean validate()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FlagWithArgument

public FlagWithArgument(java.lang.String name,
                        java.lang.String argName,
                        java.lang.String description,
                        boolean optional)
Construct a new fragment holder.

Parameters:
name - the name of the flag, as it will be used on the commandline
argName - the name of the argument, as it will be used to generate usage and help
description - the description of the flag
optional - whether or not this flag is optional
Method Detail

isOptional

public boolean isOptional()
Specified by:
isOptional in interface CommandlineFragment
Returns:
true if this fragment is optional.

setOptional

public void setOptional(boolean o)

consume

public java.util.List<java.lang.String> consume(java.util.List<java.lang.String> s)
                                         throws CommandlineSyntaxException
Description copied from interface: CommandlineFragment

Grab the pieces of the commandline relevant to this argument, configure the implementation, and then return a new array of arguments that will have the pieces of the original commandline that this command used removed.

Specified by:
consume in interface CommandlineFragment
Parameters:
s - the list of arguments
Returns:
the list of arguments, post parse
Throws:
CommandlineSyntaxException - if the commandline is structurally invalid.

reset

public void reset()
Description copied from interface: CommandlineFragment

Reset the fragment to its initial state. This is useful for reusing fragments in multiple commandline structures.

Specified by:
reset in interface CommandlineFragment

isSet

public boolean isSet()

getValue

public java.lang.String getValue()

getUsage

public java.lang.String getUsage()
Description copied from interface: CommandlineFragment

Construct a usage string for this commandline fragment. The usage string is used when constructing a strawman commandline example and when formatting help.

Specified by:
getUsage in interface CommandlineFragment
Returns:
the usage string

getDescription

public java.lang.String getDescription()
Description copied from interface: CommandlineFragment

Return a description of this commandline fragment. The description should be a (short) narrative item that describes the purpose of the fragment. It is only used when formatting help.

Specified by:
getDescription in interface CommandlineFragment
Returns:
the description

validate

public boolean validate()