org.python.core
Class PyBuiltinFunctionSet

java.lang.Object
  extended byorg.python.core.PyObject
      extended byorg.python.core.PyBuiltinFunctionSet
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable

public class PyBuiltinFunctionSet
extends PyObject
implements java.lang.Cloneable

A helper class for faster implementations of commonly called methods.

Subclasses of PyBuiltinFunctionSet will implement some or all of the __call__ method with a switch on the index number.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class org.python.core.PyObject
PyObject.ConversionException
 
Field Summary
 PyObject __doc__
           
static PyObject __members__
           
 PyObject __name__
           
 PyObject __self__
           
 
Fields inherited from class org.python.core.PyObject
exposed_name
 
Constructor Summary
PyBuiltinFunctionSet(java.lang.String name, int index, int minargs, int maxargs, boolean isMethod, java.lang.String doc)
           
 
Method Summary
 PyObject __call__()
          A variant of the __call__ method with no arguments.
 PyObject __call__(PyObject arg1)
          A variant of the __call__ method with one argument.
 PyObject __call__(PyObject[] args)
          A variant of the __call__ method when no keywords are passed.
 PyObject __call__(PyObject[] args, java.lang.String[] kws)
          The basic method to override when implementing a callable object.
 PyObject __call__(PyObject arg1, PyObject arg2)
          A variant of the __call__ method with two arguments.
 PyObject __call__(PyObject arg1, PyObject arg2, PyObject arg3)
          A variant of the __call__ method with three arguments.
 PyObject __call__(PyObject arg1, PyObject arg2, PyObject arg3, PyObject arg4)
          A variant of the __call__ method with four arguments.
 PyObject _doget(PyObject container)
           
 PyObject _doget(PyObject container, PyObject wherefound)
           
 PyException argCountError(int nargs)
           
 PyObject fancyCall(PyObject[] args)
           
 boolean isMappingType()
           
 boolean isNumberType()
           
 boolean isSequenceType()
           
 java.lang.String toString()
           
 
Methods inherited from class org.python.core.PyObject
__abs__, __add__, __and__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __eq__, __findattr__, __findattr__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __iter__, __iternext__, __itruediv__, __ixor__, __le__, __len__, __long__, __lshift__, __lt__, __mod__, __mul__, __ne__, __neg__, __nonzero__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __tojava__, __truediv__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doset, _eq, _floordiv, _ge, _gt, _in, _is, _isnot, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asInt, asLong, asName, asString, asStringOrNull, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getDoc, getType, hashCode, implementsDescrDelete, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, noAttributeError, readonlyAttributeError, safeRepr, typeSetup
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

__name__

public PyObject __name__

__doc__

public PyObject __doc__

__self__

public PyObject __self__

__members__

public static PyObject __members__
Constructor Detail

PyBuiltinFunctionSet

public PyBuiltinFunctionSet(java.lang.String name,
                            int index,
                            int minargs,
                            int maxargs,
                            boolean isMethod,
                            java.lang.String doc)
Method Detail

_doget

public PyObject _doget(PyObject container)
Overrides:
_doget in class PyObject

_doget

public PyObject _doget(PyObject container,
                       PyObject wherefound)
Overrides:
_doget in class PyObject

toString

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

isMappingType

public boolean isMappingType()
Overrides:
isMappingType in class PyObject

isNumberType

public boolean isNumberType()
Overrides:
isNumberType in class PyObject

isSequenceType

public boolean isSequenceType()
Overrides:
isSequenceType in class PyObject

argCountError

public PyException argCountError(int nargs)

fancyCall

public PyObject fancyCall(PyObject[] args)

__call__

public PyObject __call__(PyObject[] args)
Description copied from class: PyObject
A variant of the __call__ method when no keywords are passed. The default behavior is to invoke __call__(args, keywords) with the appropriate arguments. The only reason to override this function would be for improved performance.

Overrides:
__call__ in class PyObject
Parameters:
args - all arguments to the function.

__call__

public PyObject __call__(PyObject[] args,
                         java.lang.String[] kws)
Description copied from class: PyObject
The basic method to override when implementing a callable object. The first len(args)-len(keywords) members of args[] are plain arguments. The last len(keywords) arguments are the values of the keyword arguments.

Overrides:
__call__ in class PyObject
Parameters:
args - all arguments to the function (including keyword arguments).
kws - the keywords used for all keyword arguments.

__call__

public PyObject __call__()
Description copied from class: PyObject
A variant of the __call__ method with no arguments. The default behavior is to invoke __call__(args, keywords) with the appropriate arguments. The only reason to override this function would be for improved performance.

Overrides:
__call__ in class PyObject

__call__

public PyObject __call__(PyObject arg1)
Description copied from class: PyObject
A variant of the __call__ method with one argument. The default behavior is to invoke __call__(args, keywords) with the appropriate arguments. The only reason to override this function would be for improved performance.

Overrides:
__call__ in class PyObject
Parameters:
arg1 - the single argument to the function.

__call__

public PyObject __call__(PyObject arg1,
                         PyObject arg2)
Description copied from class: PyObject
A variant of the __call__ method with two arguments. The default behavior is to invoke __call__(args, keywords) with the appropriate arguments. The only reason to override this function would be for improved performance.

Overrides:
__call__ in class PyObject
Parameters:
arg1 - the first argument to the function.
arg2 - the second argument to the function.

__call__

public PyObject __call__(PyObject arg1,
                         PyObject arg2,
                         PyObject arg3)
Description copied from class: PyObject
A variant of the __call__ method with three arguments. The default behavior is to invoke __call__(args, keywords) with the appropriate arguments. The only reason to override this function would be for improved performance.

Overrides:
__call__ in class PyObject
Parameters:
arg1 - the first argument to the function.
arg2 - the second argument to the function.
arg3 - the third argument to the function.

__call__

public PyObject __call__(PyObject arg1,
                         PyObject arg2,
                         PyObject arg3,
                         PyObject arg4)
Description copied from class: PyObject
A variant of the __call__ method with four arguments. The default behavior is to invoke __call__(args, keywords) with the appropriate arguments. The only reason to override this function would be for improved performance.

Overrides:
__call__ in class PyObject
Parameters:
arg1 - the first argument to the function.
arg2 - the second argument to the function.
arg3 - the third argument to the function.
arg4 - the fourth argument to the function.


Jython homepage