Package org.python.core
Class PySequence
- java.lang.Object
-
- org.python.core.PyObject
-
- org.python.core.PySequence
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
AstList
,BaseBytes
,Py2kBuffer
,PyArray
,PyBaseString
,PyMemoryView
,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 subclasses of PySequence to implement java.util.List. 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
gcMonitorGlobal, TYPE
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
__delitem__(PyObject index)
Equivalent to the standard Python __delitem__ method.void
__delslice__(PyObject start, PyObject stop, PyObject 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 primitiveint
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 start, PyObject stop, PyObject 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 primitiveint
as the key.void
__setitem__(PyObject index, PyObject value)
Equivalent to the standard Python __setitem__ method.void
__setslice__(PyObject start, PyObject stop, PyObject step, PyObject value)
java.lang.Object
__tojava__(java.lang.Class<?> c)
Equivalent to the Jython __tojava__ method.boolean
isMappingType()
boolean
isNumberType()
boolean
isSequenceType()
-
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__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delslice__, __dir__, __div__, __divmod__, __ensure_finalizer__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __float__, __floordiv__, __format__, __get__, __getattr__, __getattr__, __getitem__, __getnewargs__, __getslice__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __iternext__, __itruediv__, __ixor__, __len__, __long__, __lshift__, __mod__, __mul__, __neg__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setslice__, __str__, __sub__, __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, _xor, 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, getType, hashCode, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict, setType, toString
-
-
-
-
Method Detail
-
__nonzero__
public boolean __nonzero__()
Description copied from class:PyObject
Equivalent to the standard Python __nonzero__ method. Returns whether of not a givenPyObject
is considered true.- Overrides:
__nonzero__
in classPyObject
-
__iter__
public PyObject __iter__()
Description copied from class:PyObject
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:for (PyObject item : seq.asIterable()) { // Do somting with item }
-
__eq__
public PyObject __eq__(PyObject o)
Description copied from class:PyObject
Equivalent to the standard Python __eq__ method.
-
__ne__
public PyObject __ne__(PyObject o)
Description copied from class:PyObject
Equivalent to the standard Python __ne__ method.
-
__lt__
public PyObject __lt__(PyObject o)
Description copied from class:PyObject
Equivalent to the standard Python __lt__ method.
-
__le__
public PyObject __le__(PyObject o)
Description copied from class:PyObject
Equivalent to the standard Python __le__ method.
-
__gt__
public PyObject __gt__(PyObject o)
Description copied from class:PyObject
Equivalent to the standard Python __gt__ method.
-
__ge__
public PyObject __ge__(PyObject o)
Description copied from class:PyObject
Equivalent to the standard Python __ge__ method.
-
__finditem__
public PyObject __finditem__(int index)
Description copied from class:PyObject
A variant of the __finditem__ method which accepts a primitiveint
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 classPyObject
- Parameters:
index
- the key to lookup in this sequence.- Returns:
- the value corresponding to key or null if key is not found.
- See Also:
PyObject.__finditem__(PyObject)
-
__finditem__
public PyObject __finditem__(PyObject index)
Description copied from class:PyObject
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 classPyObject
- Parameters:
index
- the key to lookup in this container- Returns:
- the value corresponding to key or null if key is not found
-
__getitem__
public PyObject __getitem__(PyObject index)
Description copied from class:PyObject
Equivalent to the standard Python __getitem__ method. This method should not be overridden. Override the__finditem__
method instead.- Overrides:
__getitem__
in classPyObject
- Parameters:
index
- the key to lookup in this container.- Returns:
- the value corresponding to that key.
- See Also:
PyObject.__finditem__(PyObject)
-
isMappingType
public boolean isMappingType() throws PyIgnoreMethodTag
- Overrides:
isMappingType
in classPyObject
- Throws:
PyIgnoreMethodTag
-
isNumberType
public boolean isNumberType() throws PyIgnoreMethodTag
- Overrides:
isNumberType
in classPyObject
- Throws:
PyIgnoreMethodTag
-
__getslice__
public PyObject __getslice__(PyObject start, PyObject stop, PyObject step)
- Overrides:
__getslice__
in classPyObject
-
__setslice__
public void __setslice__(PyObject start, PyObject stop, PyObject step, PyObject value)
- Overrides:
__setslice__
in classPyObject
-
__delslice__
public void __delslice__(PyObject start, PyObject stop, PyObject step)
- Overrides:
__delslice__
in classPyObject
-
__setitem__
public void __setitem__(int index, PyObject value)
Description copied from class:PyObject
A variant of the __setitem__ method which accepts a primitiveint
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 classPyObject
- Parameters:
index
- the key whose value will be setvalue
- the value to set this key to- See Also:
PyObject.__setitem__(PyObject, PyObject)
-
__setitem__
public void __setitem__(PyObject index, PyObject value)
Description copied from class:PyObject
Equivalent to the standard Python __setitem__ method.- Overrides:
__setitem__
in classPyObject
- Parameters:
index
- the key whose value will be setvalue
- the value to set this key to
-
__delitem__
public void __delitem__(PyObject index)
Description copied from class:PyObject
Equivalent to the standard Python __delitem__ method.- Overrides:
__delitem__
in classPyObject
- Parameters:
index
- the key to be removed from the container
-
__tojava__
public java.lang.Object __tojava__(java.lang.Class<?> c) throws PyIgnoreMethodTag
Description copied from class:PyObject
Equivalent to the Jython __tojava__ method. Tries to coerce this object to an instance of the requested Java class. Returns the special objectPy.NoConversion
if thisPyObject
can not be converted to the desired Java class.- Overrides:
__tojava__
in classPyObject
- Parameters:
c
- the Class to convert thisPyObject
to.- Throws:
PyIgnoreMethodTag
-
isSequenceType
public boolean isSequenceType()
- Overrides:
isSequenceType
in classPyObject
-
-