org.apache.commons.cli2.option
Class OptionImpl

java.lang.Object
  extended by org.apache.commons.cli2.option.OptionImpl
All Implemented Interfaces:
Option
Direct Known Subclasses:
ArgumentImpl, GroupImpl, ParentImpl, PropertyOption

public abstract class OptionImpl
extends java.lang.Object
implements Option

A base implementation of Option providing limited ground work for further Option implementations.


Field Summary
private  int id
           
private  boolean required
           
 
Constructor Summary
OptionImpl(int id, boolean required)
          Creates an OptionImpl with the specified id
 
Method Summary
 boolean canProcess(WriteableCommandLine commandLine, java.util.ListIterator arguments)
          Indicates whether this Option will be able to process the particular argument.
private  void checkPrefix(java.util.Set prefixes, java.lang.String trigger)
           
protected  void checkPrefixes(java.util.Set prefixes)
           
 void defaults(WriteableCommandLine commandLine)
          Adds defaults to a CommandLine.
 boolean equals(java.lang.Object thatObj)
           
private  boolean equals(java.lang.Object left, java.lang.Object right)
           
 Option findOption(java.lang.String trigger)
          Recursively searches for an option with the supplied trigger.
 int getId()
          Returns the id of the option.
 int hashCode()
           
 boolean isRequired()
          Indicates whether this option is required to be present.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.commons.cli2.Option
appendUsage, canProcess, getDescription, getPreferredName, getPrefixes, getTriggers, helpLines, process, validate
 

Field Detail

id

private final int id

required

private final boolean required
Constructor Detail

OptionImpl

public OptionImpl(int id,
                  boolean required)
Creates an OptionImpl with the specified id

Parameters:
id - the unique id of this Option
required - true iff this Option must be present
Method Detail

canProcess

public boolean canProcess(WriteableCommandLine commandLine,
                          java.util.ListIterator arguments)
Description copied from interface: Option
Indicates whether this Option will be able to process the particular argument. The ListIterator must be restored to the initial state before returning the boolean.

Specified by:
canProcess in interface Option
arguments - the ListIterator over String arguments
Returns:
true if the argument can be processed by this Option
See Also:
Option.canProcess(WriteableCommandLine,String)

toString

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

getId

public int getId()
Description copied from interface: Option
Returns the id of the option. This can be used in a loop and switch construct: for(Option o : cmd.getOptions()){ switch(o.getId()){ case POTENTIAL_OPTION: ... } } The returned value is not guarenteed to be unique.

Specified by:
getId in interface Option
Returns:
the id of the option.

equals

public boolean equals(java.lang.Object thatObj)
Overrides:
equals in class java.lang.Object

equals

private boolean equals(java.lang.Object left,
                       java.lang.Object right)

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

findOption

public Option findOption(java.lang.String trigger)
Description copied from interface: Option
Recursively searches for an option with the supplied trigger.

Specified by:
findOption in interface Option
Parameters:
trigger - the trigger to search for.
Returns:
the matching option or null.

isRequired

public boolean isRequired()
Description copied from interface: Option
Indicates whether this option is required to be present.

Specified by:
isRequired in interface Option
Returns:
true iff the CommandLine will be invalid without this Option

defaults

public void defaults(WriteableCommandLine commandLine)
Description copied from interface: Option
Adds defaults to a CommandLine. Any defaults for this option are applied as well as the defaults for any contained options

Specified by:
defaults in interface Option
Parameters:
commandLine - The CommandLine object to store defaults in

checkPrefixes

protected void checkPrefixes(java.util.Set prefixes)

checkPrefix

private void checkPrefix(java.util.Set prefixes,
                         java.lang.String trigger)