## dods.util
Class Getopts

    java.lang.Object
      dods.util.Getopts

public class Getopts
extends Object

A class for achieving getopts() functionality.

Loosely based on perl5's getopt/Std.pm.

The object is instantiated with a 'flags' String that is the composed of the set of switches allowed to be passed, and the 'args' String array that has to be parsed opposite the 'flags' string.

    	new Getopts("oif:", args)	-o, -i are boolean flags,
    					-f takes an argument

The class processes single-character switches with switch clustering.

The list of valid switches is accessible through the 'swList()' method, which returns an Enumeration of the switch names.

A local array including the arguments from the 'args' array that was passed as an argument but are the actual command line arguments is generated and is accessible through the 'argList()' method.

Options switch content fields can be accessible through the 'OptSwitch' class.

See Also:
  `OptSwitch`, `Enumeration`

Field Summary
`(package private) String[]` `arglist`
`(package private) Hashtable` `switchtab`

Constructor Summary
`Getopts(String flags, String[] args)` Basic class constructor.

Method Summary
`String[]` `argList()` Method to return an array of the actual arguments of the command line invocation.
`String` `getOption(Character sw)` getOption
`String` `getOption(int sw)` getOption
`OptSwitch` `getSwitch(Character sw)` method to return the OptSwitch object associated with the 'sw' argument.
`static void` `main(String[] args)` method for class testing.
`Enumeration` `swList()` Method to return an Enumeration of the switches that the Getopts object is able to parse (according to its initialization).

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### switchtab

    Hashtable switchtab

### arglist

    String[] arglist

Constructor Detail

### Getopts

    public Getopts(String flags,
                   String[] args)
            throws InvalidSwitch

  Basic class constructor. Gets the flags passed, in a notation similar to the one used by the sh, ksh, bash, and perl getopts.

  String array 'args' is passed and is parsed according to the flags.

Parameters:
  `flags` - a string with the valid switch names
Throws:
  `InvalidSwitch` - thrown when invalid options are found

Method Detail

### getSwitch

    public OptSwitch getSwitch(Character sw)

  method to return the OptSwitch object associated with the 'sw' argument.

  Parameters:
    `sw` - switch whose class is requested

### getOption

    public String getOption(Character sw)

  getOption

  Parameters:
    `sw` - Character switch whose option is requested

### getOption

    public String getOption(int sw)

  getOption

  Parameters:
    `sw` - int value switch whose option is requested

### swList

    public Enumeration swList()

  Method to return an Enumeration of the switches that the Getopts object is able to parse (according to its initialization).

  May be later used to step through the OptSwitch objects.

### argList

    public String[] argList()

  Method to return an array of the actual arguments of the command line invocation.

### main

    public static void main(String[] args)
                     throws InvalidSwitch

  method for class testing.

  Invocation:

       		java Getopts "option set" arg0 arg1 ... argn

  Throws:
    `InvalidSwitch` - thrown when invalid options are found