org.python.core

Class PySequence

Implemented Interfaces:
java.io.Serializable
Known Direct Subclasses:
PyArray, PyBaseString, PySequenceList, PyXRange

public abstract class PySequence
extends PyObject

The abstract superclass of PyObjects that implements a Sequence. Minimize the work in creating such objects. Method names are designed to make it possible for PySequence to implement java.util.List interface when JDK 1.2 is ubiquitous. Subclasses must also implement get, getslice, and repeat methods. Subclasses that are mutable should also implement: set, setslice, del, and delRange.
See Also:
Serialized Form

Nested Class Summary

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

PyObject.ConversionException

Field Summary

Fields inherited from class org.python.core.PyObject

exposed_name

Constructor Summary

PySequence()
This constructor is used by PyJavaClass.init()

Method Summary

void
__delitem__(PyObject index)
Equivalent to the standard Python __delitem__ method.
void
__delslice__(PyObject s_start, PyObject s_stop, PyObject s_step)
PyObject
__eq__(PyObject o)
Equivalent to the standard Python __eq__ method.
PyObject
__finditem__(int index)
A variant of the __finditem__ method which accepts a primitive int as the key.
PyObject
__finditem__(PyObject index)
Very similar to the standard Python __getitem__ method.
PyObject
__ge__(PyObject o)
Equivalent to the standard Python __ge__ method.
PyObject
__getitem__(PyObject index)
Equivalent to the standard Python __getitem__ method.
PyObject
__getslice__(PyObject s_start, PyObject s_stop, PyObject s_step)
PyObject
__gt__(PyObject o)
Equivalent to the standard Python __gt__ method.
PyObject
__iter__()
Return an iterator that is used to iterate the element of this sequence.
PyObject
__le__(PyObject o)
Equivalent to the standard Python __le__ method.
PyObject
__lt__(PyObject o)
Equivalent to the standard Python __lt__ method.
PyObject
__ne__(PyObject o)
Equivalent to the standard Python __ne__ method.
boolean
__nonzero__()
Equivalent to the standard Python __nonzero__ method.
void
__setitem__(int index, PyObject value)
A variant of the __setitem__ method which accepts a primitive int as the key.
void
__setitem__(PyObject index, PyObject value)
Equivalent to the standard Python __setitem__ method.
void
__setslice__(PyObject s_start, PyObject s_stop, PyObject s_step, PyObject value)
Object
__tojava__(Class c)
Equivalent to the Jython __tojava__ method.
boolean
isMappingType()
boolean
isNumberType()

Methods inherited from class org.python.core.PyObject

__abs__, __add__, __and__, __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__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __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__, __reduce__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __tojava__, __truediv__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _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, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getDoc, getType, hashCode, implementsDescrDelete, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isMappingType, isNumberType, isSequenceType, noAttributeError, readonlyAttributeError, safeRepr, setDict, setType, toString, typeSetup

Constructor Details

PySequence

public PySequence()
This constructor is used by PyJavaClass.init()

Method Details

__delitem__

public void __delitem__(PyObject index)
Equivalent to the standard Python __delitem__ method.
Overrides:
__delitem__ in interface PyObject
Parameters:

__delslice__

public void __delslice__(PyObject s_start,
                         PyObject s_stop,
                         PyObject s_step)
Overrides:
__delslice__ in interface PyObject

__eq__

public PyObject __eq__(PyObject o)
Equivalent to the standard Python __eq__ method.
Overrides:
__eq__ in interface PyObject
Parameters:
Returns:
the result of the comparison.

__finditem__

public PyObject __finditem__(int index)
A variant of the __finditem__ method which accepts a primitive int as the key. By default, this method will call __finditem__(PyObject key) with the appropriate args. The only reason to override this method is for performance.
Overrides:
__finditem__ in interface PyObject
Parameters:
Returns:
the value corresponding to key or null if key is not found.

__finditem__

public PyObject __finditem__(PyObject index)
Very similar to the standard Python __getitem__ method. Instead of throwing a KeyError if the item isn't found, this just returns null. Classes that wish to implement __getitem__ should override this method instead (with the appropriate semantics.
Overrides:
__finditem__ in interface PyObject
Parameters:
Returns:
the value corresponding to key or null if key is not found

__ge__

public PyObject __ge__(PyObject o)
Equivalent to the standard Python __ge__ method.
Overrides:
__ge__ in interface PyObject
Parameters:
Returns:
the result of the comparison.

__getitem__

public PyObject __getitem__(PyObject index)
Equivalent to the standard Python __getitem__ method. This method should not be overridden. Override the __finditem__ method instead.
Overrides:
__getitem__ in interface PyObject
Parameters:
Returns:
the value corresponding to that key.

__getslice__

public PyObject __getslice__(PyObject s_start,
                             PyObject s_stop,
                             PyObject s_step)
Overrides:
__getslice__ in interface PyObject

__gt__

public PyObject __gt__(PyObject o)
Equivalent to the standard Python __gt__ method.
Overrides:
__gt__ in interface PyObject
Parameters:
Returns:
the result of the comparison.

__iter__

public PyObject __iter__()
Return an iterator that is used to iterate the element of this sequence. From version 2.2, this method is the primary protocol for looping over sequences.

If a PyObject subclass should support iteration based in the __finditem__() method, it must supply an implementation of __iter__() like this:

    public PyObject __iter__() {
        return new PySequenceIter(this);
    }
 
When iterating over a python sequence from java code, it should be done with code like this:
    PyObject iter = seq.__iter__();
    for (PyObject item; (item = iter.__iternext__()) != null;)  {
        // Do somting with item
    }
 
Overrides:
__iter__ in interface PyObject
Since:
2.2

__le__

public PyObject __le__(PyObject o)
Equivalent to the standard Python __le__ method.
Overrides:
__le__ in interface PyObject
Parameters:
Returns:
the result of the comparison.

__lt__

public PyObject __lt__(PyObject o)
Equivalent to the standard Python __lt__ method.
Overrides:
__lt__ in interface PyObject
Parameters:
Returns:
the result of the comparison.

__ne__

public PyObject __ne__(PyObject o)
Equivalent to the standard Python __ne__ method.
Overrides:
__ne__ in interface PyObject
Parameters:
Returns:
the result of the comparison.

__nonzero__

public boolean __nonzero__()
Equivalent to the standard Python __nonzero__ method. Returns whether of not a given PyObject is considered true.
Overrides:
__nonzero__ in interface PyObject

__setitem__

public void __setitem__(int index,
                        PyObject value)
A variant of the __setitem__ method which accepts a primitive int as the key. By default, this will call __setitem__(PyObject key, PyObject value) with the appropriate args. The only reason to override this method is for performance.
Overrides:
__setitem__ in interface PyObject
Parameters:
value - the value to set this key to

__setitem__

public void __setitem__(PyObject index,
                        PyObject value)
Equivalent to the standard Python __setitem__ method.
Overrides:
__setitem__ in interface PyObject
Parameters:
value - the value to set this key to

__setslice__

public void __setslice__(PyObject s_start,
                         PyObject s_stop,
                         PyObject s_step,
                         PyObject value)
Overrides:
__setslice__ in interface PyObject

__tojava__

public Object __tojava__(Class c)
            throws PyIgnoreMethodTag
Equivalent to the Jython __tojava__ method. Tries to coerce this object to an instance of the requested Java class. Returns the special object Py.NoConversion if this PyObject can not be converted to the desired Java class.
Overrides:
__tojava__ in interface PyObject
Parameters:
c - the Class to convert this PyObject to.

isMappingType

public boolean isMappingType()
            throws PyIgnoreMethodTag
Overrides:
isMappingType in interface PyObject

isNumberType

public boolean isNumberType()
            throws PyIgnoreMethodTag
Overrides:
isNumberType in interface PyObject

Jython homepage