org.python.core
Class ArgParser

java.lang.Object
  extended byorg.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 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 optiona argument as a PyObject.
 String getString(int pos)
          Return a required argument as a String.
 String getString(int pos, String def)
          Return an optional argument as a String.
 
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.
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.
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.
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.
paramnames - The list of expected argument in the method definition.
Method Detail

getString

public String getString(int pos)
Return a required argument as a String.

Parameters:
pos - The position of the argument. 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 optiona argument as a PyObject.

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

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.