Package org.python.core
Class PySequence
java.lang.Object
org.python.core.PyObject
org.python.core.PySequence
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AstList,BaseBytes,Py2kBuffer,PyArray,PyBaseString,PyMemoryView,PySequenceList,PyXRange
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:
-
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
Modifier and TypeMethodDescriptionvoid__delitem__(PyObject index) Equivalent to the standard Python __delitem__ method.void__delslice__(PyObject start, PyObject stop, PyObject step) Equivalent to the standard Python __eq__ method.__finditem__(int index) A variant of the __finditem__ method which accepts a primitiveintas the key.__finditem__(PyObject index) Very similar to the standard Python __getitem__ method.Equivalent to the standard Python __ge__ method.__getitem__(PyObject index) Equivalent to the standard Python __getitem__ method.__getslice__(PyObject start, PyObject stop, PyObject step) Equivalent to the standard Python __gt__ method.__iter__()Return an iterator that is used to iterate the element of this sequence.Equivalent to the standard Python __le__ method.Equivalent to the standard Python __lt__ method.Equivalent to the standard Python __ne__ method.booleanEquivalent to the standard Python __nonzero__ method.void__setitem__(int index, PyObject value) A variant of the __setitem__ method which accepts a primitiveintas 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) __tojava__(Class<?> c) Equivalent to the Jython __tojava__ method.booleanbooleanbooleanMethods 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 Details
-
__nonzero__
public boolean __nonzero__()Description copied from class:PyObjectEquivalent to the standard Python __nonzero__ method. Returns whether of not a givenPyObjectis considered true.- Overrides:
__nonzero__in classPyObject
-
__iter__
Description copied from class:PyObjectReturn 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 something with item } -
__eq__
Description copied from class:PyObjectEquivalent to the standard Python __eq__ method. -
__ne__
Description copied from class:PyObjectEquivalent to the standard Python __ne__ method. -
__lt__
Description copied from class:PyObjectEquivalent to the standard Python __lt__ method. -
__le__
Description copied from class:PyObjectEquivalent to the standard Python __le__ method. -
__gt__
Description copied from class:PyObjectEquivalent to the standard Python __gt__ method. -
__ge__
Description copied from class:PyObjectEquivalent to the standard Python __ge__ method. -
__finditem__
Description copied from class:PyObjectA variant of the __finditem__ method which accepts a primitiveintas 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:
-
__finditem__
Description copied from class:PyObjectVery 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__
Description copied from class:PyObjectEquivalent 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:
-
isMappingType
- Overrides:
isMappingTypein classPyObject- Throws:
PyIgnoreMethodTag
-
isNumberType
- Overrides:
isNumberTypein classPyObject- Throws:
PyIgnoreMethodTag
-
__getslice__
- Overrides:
__getslice__in classPyObject
-
__setslice__
- Overrides:
__setslice__in classPyObject
-
__delslice__
- Overrides:
__delslice__in classPyObject
-
__setitem__
Description copied from class:PyObjectA variant of the __setitem__ method which accepts a primitiveintas 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:
-
__setitem__
Description copied from class:PyObjectEquivalent 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__
Description copied from class:PyObjectEquivalent to the standard Python __delitem__ method.- Overrides:
__delitem__in classPyObject- Parameters:
index- the key to be removed from the container
-
__tojava__
Description copied from class:PyObjectEquivalent to the Jython __tojava__ method. Tries to coerce this object to an instance of the requested Java class. Returns the special objectPy.NoConversionif thisPyObjectcan not be converted to the desired Java class.- Overrides:
__tojava__in classPyObject- Parameters:
c- the Class to convert thisPyObjectto.- Throws:
PyIgnoreMethodTag
-
isSequenceType
public boolean isSequenceType()- Overrides:
isSequenceTypein classPyObject
-