Package gda.jython

Class GdaBuiltin

java.lang.Object
org.python.core.PyObject
org.python.core.PyBuiltinCallable
org.python.core.PyBuiltinFunction
gda.jython.GdaBuiltin
All Implemented Interfaces:
Serializable, org.python.expose.ExposeAsSuperclass

public class GdaBuiltin extends org.python.core.PyBuiltinFunction
Wrapper class to present multiple static methods as a PyObject that can be used as a builtin method. Uses existing Jython classes to delegate calls to the correct method and reflection to build useful docstrings for methods.

Builtins can be created individually (using a list of methods and the name the builtin should be called) or by parsing a class for all static methods that have the GdaJythonBuiltin annotation.

See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    class 
     

    Nested classes/interfaces inherited from class org.python.core.PyBuiltinCallable

    org.python.core.PyBuiltinCallable.__call___descriptor, org.python.core.PyBuiltinCallable.__doc___descriptor, org.python.core.PyBuiltinCallable.__module___descriptor, org.python.core.PyBuiltinCallable.__name___descriptor, org.python.core.PyBuiltinCallable.__self___descriptor, org.python.core.PyBuiltinCallable.DefaultInfo, org.python.core.PyBuiltinCallable.Info, org.python.core.PyBuiltinCallable.PyExposer

    Nested classes/interfaces inherited from class org.python.core.PyObject

    org.python.core.PyObject.__class___descriptor, org.python.core.PyObject.__repr___exposer, org.python.core.PyObject.ConversionException, org.python.core.PyObject.exposed___new__, org.python.core.PyObject.object___delattr___exposer, org.python.core.PyObject.object___format___exposer, org.python.core.PyObject.object___getattribute___exposer, org.python.core.PyObject.object___hash___exposer, org.python.core.PyObject.object___init___exposer, org.python.core.PyObject.object___reduce___exposer, org.python.core.PyObject.object___reduce_ex___exposer, org.python.core.PyObject.object___setattr___exposer, org.python.core.PyObject.object___subclasshook___exposer, org.python.core.PyObject.object_toString_exposer
  • Field Summary

    Fields inherited from class org.python.core.PyBuiltinCallable

    doc, info

    Fields inherited from class org.python.core.PyObject

    javaProxy, objtype, TYPE
  • Constructor Summary

    Constructors
    Constructor
    Description
    GdaBuiltin(String name, List<Method> methods)
    Create builtin function for given methods.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.python.core.PyObject
    __call__(org.python.core.PyObject[] args, String[] keywords)
     
     
     

    Methods inherited from class org.python.core.PyBuiltinFunction

    bind, isMappingType, isNumberType, isSequenceType, toString

    Methods inherited from class org.python.core.PyBuiltinCallable

    fastGetName, getModule, getSelf, makeCall, setInfo

    Methods inherited from class org.python.core.PyObject

    __abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __eq__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __format__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __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__, __rawdir__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __tojava__, __truediv__, __trunc__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _iadd, _iand, _idiv, _idivmod, _ifloordiv, _ilshift, _imod, _imul, _in, _ior, _ipow, _irshift, _is, _isnot, _isub, _itruediv, _ixor, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _unsupportedop, _xor, adaptToCoerceTuple, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, bit_length, conjugate, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getJavaProxy, getType, hashCode, impAttr, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, mergeClassDict, mergeDictAttr, mergeListAttr, noAttributeError, object___subclasshook__, readonlyAttributeError, runsupportedopMessage, setDict, setType, unsupportedopMessage

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • GdaBuiltin

      public GdaBuiltin(String name, List<Method> methods)
      Create builtin function for given methods. Calls are handled by Jython's PyReflectedFunction leaving this class to generate the documentation.
      Parameters:
      name - of the builtin
      methods - used to handle calls to this builtin
  • Method Details

    • getName

      public String getName()
    • getDoc

      public String getDoc()
      Overrides:
      getDoc in class org.python.core.PyBuiltinCallable
    • __call__

      public org.python.core.PyObject __call__(org.python.core.PyObject[] args, String[] keywords)
      Overrides:
      __call__ in class org.python.core.PyObject