Class AbstractJythonSequence
- java.lang.Object
-
- org.python.core.PyObject
-
- org.python.core.PySequence
-
- com.inductiveautomation.ignition.common.script.abc.AbstractJythonSequence
-
- All Implemented Interfaces:
JythonSequence,java.io.Serializable
- Direct Known Subclasses:
AbstractMutableJythonSequence,DatasetUtilities.PyDataSet,DatasetUtilities.PyDataSet.PyRow,Results.PyWrapper
public abstract class AbstractJythonSequence extends org.python.core.PySequence implements JythonSequence
Base class to pretend to be a Jython "sequence", aka a Pythonic list. If you don't want to implement a method, leave it a no-op but addPyIgnoreMethodTagto the throws declaration, which will prevent it from being exposed to Jython.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AbstractJythonSequence(java.lang.Class<?> clazz)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract org.python.core.PyObject__add__(org.python.core.PyObject other)org.python.core.PyObject__mul__(org.python.core.PyObject other)Override to allow this sequence to work with the*operator.org.python.core.PyString__repr__()org.python.core.PyObject__rmul__(org.python.core.PyObject other)Override to allow extending.org.python.core.PyString__str__()protected org.python.core.PyObjectgetslice(int start, int stop, int step)Retrieve a 'slice' of this sequence; fromstart(inclusive) tostop(exclusive), stepping bystep.booleanisMappingType()booleanisNumberType()booleanisSequenceType()protected abstract org.python.core.PyObjectpyget(int index)protected abstract org.python.core.PyObjectrepeat(int count)Implements the repeat operation, which is used by Jython when performingsequence * count, which returns a new list containing sequence * count items.protected abstract java.util.List<? extends org.python.core.PyObject>sublist(int start, int stop)Retrieve a subset of this sequence, fromstart(inclusive) tostop(exclusive).java.lang.StringtoString()-
Methods inherited from class org.python.core.PySequence
__delitem__, __delslice__, __eq__, __finditem__, __finditem__, __ge__, __getitem__, __getslice__, __gt__, __iter__, __le__, __lt__, __ne__, __nonzero__, __setitem__, __setitem__, __setslice__, __tojava__, boundToSequence, cmp, del, delRange, delslice, fastSequence, isSubType, pyset, runsupportedopMessage, setslice, sliceLength, unsupportedopMessage
-
Methods inherited from class org.python.core.PyObject
__abs__, __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__, __neg__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rawdir__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __rfloordiv__, __rlshift__, __rmod__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setslice__, __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, _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, finalize, getDict, getJavaProxy, getType, hashCode, impAttr, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, mergeClassDict, mergeDictAttr, mergeListAttr, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict, setType
-
Methods inherited from interface com.inductiveautomation.ignition.common.script.abc.JythonSequence
__contains__, __iter__, __len__, count, index
-
-
-
-
Method Detail
-
pyget
protected abstract org.python.core.PyObject pyget(int index)
- Specified by:
pygetin classorg.python.core.PySequence
-
getslice
protected org.python.core.PyObject getslice(int start, int stop, int step)Retrieve a 'slice' of this sequence; fromstart(inclusive) tostop(exclusive), stepping bystep. Will delegate topyget(int)andsublist(int, int), and handle negative indices appropriately.- Specified by:
getslicein classorg.python.core.PySequence- Returns:
- A new list from specified elements of the original sequence.
-
sublist
protected abstract java.util.List<? extends org.python.core.PyObject> sublist(int start, int stop)Retrieve a subset of this sequence, fromstart(inclusive) tostop(exclusive).- See Also:
List.subList(int, int)
-
repeat
protected abstract org.python.core.PyObject repeat(int count)
Implements the repeat operation, which is used by Jython when performingsequence * count, which returns a new list containing sequence * count items. If count is <= 0, returns an empty sequence, ideally of the same type.- Specified by:
repeatin classorg.python.core.PySequence- Parameters:
count- The number of times to repeat the sequence in the output.
-
__add__
public abstract org.python.core.PyObject __add__(org.python.core.PyObject other)
- Overrides:
__add__in classorg.python.core.PyObject
-
__mul__
public org.python.core.PyObject __mul__(org.python.core.PyObject other) throws org.python.core.PyIgnoreMethodTagDescription copied from interface:JythonSequenceOverride to allow this sequence to work with the*operator. Does not mutate this sequence.- Specified by:
__mul__in interfaceJythonSequence- Overrides:
__mul__in classorg.python.core.PyObject- Returns:
- the result of the mul, or
nullif this operation is not defined - Throws:
org.python.core.PyIgnoreMethodTag
-
__rmul__
public org.python.core.PyObject __rmul__(org.python.core.PyObject other)
Description copied from interface:JythonSequenceOverride to allow extending. This is distinct fromJythonSequence.__mul__(org.python.core.PyObject)in that__rmul__is called if the left operator in an multiplication expression doesn't support the given type - in that case, the right operator is given an opportunity to attempt the multiplication. Does not mutate this sequence.- Specified by:
__rmul__in interfaceJythonSequence- Overrides:
__rmul__in classorg.python.core.PyObject- Returns:
- the result of the mul, or
nullif this operation is not defined
-
isSequenceType
public boolean isSequenceType() throws org.python.core.PyIgnoreMethodTag- Overrides:
isSequenceTypein classorg.python.core.PySequence- Throws:
org.python.core.PyIgnoreMethodTag
-
isMappingType
public boolean isMappingType() throws org.python.core.PyIgnoreMethodTag- Overrides:
isMappingTypein classorg.python.core.PySequence- Throws:
org.python.core.PyIgnoreMethodTag
-
isNumberType
public boolean isNumberType() throws org.python.core.PyIgnoreMethodTag- Overrides:
isNumberTypein classorg.python.core.PySequence- Throws:
org.python.core.PyIgnoreMethodTag
-
__repr__
public org.python.core.PyString __repr__()
- Specified by:
__repr__in interfaceJythonSequence- Overrides:
__repr__in classorg.python.core.PyObject- Returns:
- a string containing a printable representation of this object. If practical, should match the evaluation
format of a Python list -
[item, item, item]
-
__str__
public org.python.core.PyString __str__()
- Overrides:
__str__in classorg.python.core.PyObject
-
toString
public java.lang.String toString() throws org.python.core.PyIgnoreMethodTag- Overrides:
toStringin classorg.python.core.PyObject- Throws:
org.python.core.PyIgnoreMethodTag
-
-