## org.python.core
Class ArgParser

    java.lang.Object
      org.python.core.ArgParser

    public class ArgParser

extends Object

A utility class for handling mixed positional and keyword arguments. A typical usage:

       public MatchObject search(PyObject[] args, String[] kws) {
           ArgParser ap = new ArgParser("search", args, kws,
                                        "pattern", "pos", "endpos");
           String string = ap.getString(0);
           int start     = ap.getInt(1, 0);
           int end       = ap.getInt(2, string.length());
           ...

Constructor Summary
`ArgParser(String funcname, PyObject[] args, String[] kws, String p0)` Create an ArgParser with one method argument
`ArgParser(String funcname, PyObject[] args, String[] kws, String[] paramnames)` Create an ArgParser with three method argument
`ArgParser(String funcname, PyObject[] args, String[] kws, String[] paramnames, int minargs)`
`ArgParser(String funcname, PyObject[] args, String[] kws, String[] paramnames, int minargs, boolean takesZeroArgs)`
`ArgParser(String funcname, PyObject[] args, String[] kws, String p0, String p1)` Create an ArgParser with two method argument
`ArgParser(String funcname, PyObject[] args, String[] kws, String p0, String p1, String p2)` Create an ArgParser with three method argument

Method Summary
`int` `getInt(int pos)` Return a required argument as an int.
`int` `getInt(int pos, int def)` Return an optional argument as an int.
`PyObject` `getList(int pos)` Return the remaining arguments as a tuple.
`PyObject` `getPyObject(int pos)` Return a required argument as a PyObject.
`PyObject` `getPyObject(int pos, PyObject def)` Return an optional argument as a PyObject.
`PyObject` `getPyObjectByType(int pos, PyType type)` Return a required argument as a PyObject, ensuring the object is of the specified type.
`String` `getString(int pos)` Return a required argument as a String.
`String` `getString(int pos, String def)` Return an optional argument as a String.
`void` `noKeywords()` Ensure no keyword arguments were passed, raising a TypeError if so.

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

Constructor Detail

### ArgParser

    public ArgParser(String funcname,
                     PyObject[] args,
                     String[] kws,
                     String p0)

  Create an ArgParser with one method argument

  Parameters:
    `funcname` - Name of the method. Used in error messages.
    `args` - The actual call arguments supplied in the call.
    `kws` - The actual keyword names supplied in the call.
    `p0` - The expected argument in the method definition.

### ArgParser

    public ArgParser(String funcname,
                     PyObject[] args,
                     String[] kws,
                     String p0,
                     String p1)

  Create an ArgParser with two method argument

  Parameters:
    `funcname` - Name of the method. Used in error messages.
    `args` - The actual call arguments supplied in the call.
    `kws` - The actual keyword names supplied in the call.
    `p0` - The first expected argument in the method definition.
    `p1` - The second expected argument in the method definition.

### ArgParser

    public ArgParser(String funcname,
                     PyObject[] args,
                     String[] kws,
                     String p0,
                     String p1,
                     String p2)

  Create an ArgParser with three method argument

  Parameters:
    `funcname` - Name of the method. Used in error messages.
    `args` - The actual call arguments supplied in the call.
    `kws` - The actual keyword names supplied in the call.
    `p0` - The first expected argument in the method definition.
    `p1` - The second expected argument in the method definition.
    `p2` - The third expected argument in the method definition.

### ArgParser

    public ArgParser(String funcname,
                     PyObject[] args,
                     String[] kws,
                     String[] paramnames)

  Create an ArgParser with three method argument

  Parameters:
    `funcname` - Name of the method. Used in error messages.
    `args` - The actual call arguments supplied in the call.
    `kws` - The actual keyword names supplied in the call.
    `paramnames` - The list of expected argument in the method definition.

### ArgParser

    public ArgParser(String funcname,
                     PyObject[] args,
                     String[] kws,
                     String[] paramnames,
                     int minargs)

### ArgParser

    public ArgParser(String funcname,
                     PyObject[] args,
                     String[] kws,
                     String[] paramnames,
                     int minargs,
                     boolean takesZeroArgs)

Method Detail

### getString

    public String getString(int pos)

  Return a required argument as a String.

  Parameters:
    `pos` - The position of the .. First argument is numbered 0.

### getString

    public String getString(int pos,
                            String def)

  Return an optional argument as a String.

  Parameters:
    `pos` - The position of the argument. First argument is numbered 0.

### getInt

    public int getInt(int pos)

  Return a required argument as an int.

  Parameters:
    `pos` - The position of the argument. First argument is numbered 0.

### getInt

    public int getInt(int pos,
                      int def)

  Return an optional argument as an int.

  Parameters:
    `pos` - The position of the argument. First argument is numbered 0.

### getPyObject

    public PyObject getPyObject(int pos)

  Return a required argument as a PyObject.

  Parameters:
    `pos` - The position of the argument. First argument is numbered 0.

### getPyObject

    public PyObject getPyObject(int pos,
                                PyObject def)

  Return an optional argument as a PyObject.

  Parameters:
    `pos` - The position of the argument. First argument is numbered 0.

### getPyObjectByType

    public PyObject getPyObjectByType(int pos,
                                      PyType type)

  Return a required argument as a PyObject, ensuring the object is of the specified type.

  Parameters:
    `pos` - the position of the argument. First argument is numbered 0
    `type` - the desired PyType of the argument
  Returns:
    the PyObject of PyType

### getList

    public PyObject getList(int pos)

  Return the remaining arguments as a tuple.

  Parameters:
    `pos` - The position of the argument. First argument is numbered 0.

### noKeywords

    public void noKeywords()

  Ensure no keyword arguments were passed, raising a TypeError if so.

Jython homepage