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 addPyIgnoreMethodTag
to 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.PyObject
getslice(int start, int stop, int step)
Retrieve a 'slice' of this sequence; fromstart
(inclusive) tostop
(exclusive), stepping bystep
.boolean
isMappingType()
boolean
isNumberType()
boolean
isSequenceType()
protected abstract org.python.core.PyObject
pyget(int index)
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.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.String
toString()
-
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:
pyget
in 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:
getslice
in 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:
repeat
in 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.PyIgnoreMethodTag
Description copied from interface:JythonSequence
Override 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
null
if 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:JythonSequence
Override 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
null
if this operation is not defined
-
isSequenceType
public boolean isSequenceType() throws org.python.core.PyIgnoreMethodTag
- Overrides:
isSequenceType
in classorg.python.core.PySequence
- Throws:
org.python.core.PyIgnoreMethodTag
-
isMappingType
public boolean isMappingType() throws org.python.core.PyIgnoreMethodTag
- Overrides:
isMappingType
in classorg.python.core.PySequence
- Throws:
org.python.core.PyIgnoreMethodTag
-
isNumberType
public boolean isNumberType() throws org.python.core.PyIgnoreMethodTag
- Overrides:
isNumberType
in 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:
toString
in classorg.python.core.PyObject
- Throws:
org.python.core.PyIgnoreMethodTag
-
-