Package org.python.core
Class ArgParser
- java.lang.Object
-
- org.python.core.ArgParser
-
public class ArgParser extends java.lang.Object
A utility class for handling mixed positional and keyword arguments. 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
Constructors Constructor Description ArgParser(java.lang.String funcname, PyObject[] args, java.lang.String[] kws, java.lang.String p0)
Create an ArgParser for a one-argument function.ArgParser(java.lang.String funcname, PyObject[] args, java.lang.String[] kws, java.lang.String[] paramnames)
Create an ArgParser for a multi-argument function.ArgParser(java.lang.String funcname, PyObject[] args, java.lang.String[] kws, java.lang.String[] paramnames, int minargs)
ArgParser(java.lang.String funcname, PyObject[] args, java.lang.String[] kws, java.lang.String[] paramnames, int minargs, boolean takesZeroArgs)
ArgParser(java.lang.String funcname, PyObject[] args, java.lang.String[] kws, java.lang.String p0, java.lang.String p1)
Create an ArgParser for a two-argument function.ArgParser(java.lang.String funcname, PyObject[] args, java.lang.String[] kws, java.lang.String p0, java.lang.String p1, java.lang.String p2)
Create an ArgParser for a three-argument function.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getIndex(int pos)
Return an required argument as an index.int
getIndex(int pos, int def)
Return an optional argument as an index.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.PyObject
getPyObjectByType(int pos, PyType type, PyObject def)
Return an optional argument as a PyObject, or return the default value provided, which may benull
.java.lang.String
getString(int pos)
Return a required argument as a String.java.lang.String
getString(int pos, java.lang.String def)
Return an optional argument as a String.void
noKeywords()
Ensure no keyword arguments were passed, raising a TypeError if so.
-
-
-
Constructor Detail
-
ArgParser
public ArgParser(java.lang.String funcname, PyObject[] args, java.lang.String[] kws, java.lang.String p0)
Create an ArgParser for a one-argument function.- Parameters:
funcname
- Name of the function. 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 function definition.
-
ArgParser
public ArgParser(java.lang.String funcname, PyObject[] args, java.lang.String[] kws, java.lang.String p0, java.lang.String p1)
Create an ArgParser for a two-argument function.- Parameters:
funcname
- Name of the function. 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 function definition.p1
- The second expected argument in the function definition.
-
ArgParser
public ArgParser(java.lang.String funcname, PyObject[] args, java.lang.String[] kws, java.lang.String p0, java.lang.String p1, java.lang.String p2)
Create an ArgParser for a three-argument function.- Parameters:
funcname
- Name of the function. 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 function definition.p1
- The second expected argument in the function definition.p2
- The third expected argument in the function definition.
-
ArgParser
public ArgParser(java.lang.String funcname, PyObject[] args, java.lang.String[] kws, java.lang.String[] paramnames)
Create an ArgParser for a multi-argument function.- Parameters:
funcname
- Name of the function. 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 function definition.
-
ArgParser
public ArgParser(java.lang.String funcname, PyObject[] args, java.lang.String[] kws, java.lang.String[] paramnames, int minargs)
-
ArgParser
public ArgParser(java.lang.String funcname, PyObject[] args, java.lang.String[] kws, java.lang.String[] paramnames, int minargs, boolean takesZeroArgs)
-
-
Method Detail
-
getString
public java.lang.String getString(int pos)
Return a required argument as a String.- Parameters:
pos
- The position of the .. First argument is numbered 0.
-
getString
public java.lang.String getString(int pos, java.lang.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.
-
getIndex
public int getIndex(int pos)
Return an required argument as an index.- Parameters:
pos
- The position of the argument. First argument is numbered 0.
-
getIndex
public int getIndex(int pos, int def)
Return an optional argument as an index.- 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 0type
- the desired PyType of the argument- Returns:
- the PyObject of PyType type
-
getPyObjectByType
public PyObject getPyObjectByType(int pos, PyType type, PyObject def)
Return an optional argument as a PyObject, or return the default value provided, which may benull
. If the returned value is notnull
, it must be of the specified type.- Parameters:
pos
- the position of the argument. First argument is numbered 0type
- the desired PyType of the argumentdef
- to return if the argument at pos was not given (null allowed)- Returns:
- the PyObject of PyType type
-
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.
-
-