Class AbstractMutableJythonSequence
- java.lang.Object
-
- org.python.core.PyObject
-
- org.python.core.PySequence
-
- com.inductiveautomation.ignition.common.script.abc.AbstractJythonSequence
-
- com.inductiveautomation.ignition.common.script.abc.AbstractMutableJythonSequence
-
- All Implemented Interfaces:
JythonSequence
,MutableJythonSequence
,java.io.Serializable
- Direct Known Subclasses:
PropertyTreeScriptWrapper.ArrayWrapper
public abstract class AbstractMutableJythonSequence extends AbstractJythonSequence implements MutableJythonSequence
Base class to pretend to be a Jython "sequence", aka a Pythonic list. Should support slicing and, if applicable, sorting. 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 AbstractMutableJythonSequence(java.lang.Class<?> clazz)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description org.python.core.PyObject
__imul__(org.python.core.PyObject other)
Deliberately stubbed - override if you want to implement the (uncommon)__imul__
operator.abstract void
append(org.python.core.PyObject element)
Addselement
to the end of the sequence.protected void
delslice(int start, int stop, int step, int n)
Deliberately stubbed - override if you want to implement slice deletion, a fairly uncommon Python operation:abstract void
extend(org.python.core.PyObject sequence)
Adds all elements fromsequence
to the end of the sequence.abstract void
insert(int index, org.python.core.PyObject element)
Addselement
to sequence at positionindex
.org.python.core.PyObject
pop()
Pops the last element off the sequence and returns it.abstract org.python.core.PyObject
pop(int index)
Pops the element atindex
off the sequence and returns it.protected abstract void
pyset(int index, org.python.core.PyObject value)
abstract void
remove(org.python.core.PyObject element)
Removeselement
from the sequence, if it exists.protected void
setslice(int start, int stop, int step, org.python.core.PyObject value)
Deliberately stubbed - override if you want to implement slice assignment, a fairly uncommon Python operation:void
sort(org.python.core.PyObject[] args, java.lang.String[] keywords)
Deliberately stubbed - override if you want to implement in-place sorting.-
Methods inherited from class com.inductiveautomation.ignition.common.script.abc.AbstractJythonSequence
__add__, __mul__, __repr__, __rmul__, __str__, getslice, isMappingType, isNumberType, isSequenceType, pyget, repeat, sublist, 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, fastSequence, isSubType, runsupportedopMessage, 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__, __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__, __mul__, __repr__, __rmul__, count, index
-
Methods inherited from interface com.inductiveautomation.ignition.common.script.abc.MutableJythonSequence
__add__
-
-
-
-
Method Detail
-
append
public abstract void append(org.python.core.PyObject element)
Description copied from interface:MutableJythonSequence
Addselement
to the end of the sequence.- Specified by:
append
in interfaceMutableJythonSequence
-
extend
public abstract void extend(org.python.core.PyObject sequence)
Description copied from interface:MutableJythonSequence
Adds all elements fromsequence
to the end of the sequence.- Specified by:
extend
in interfaceMutableJythonSequence
-
remove
public abstract void remove(org.python.core.PyObject element) throws org.python.core.PyException
Description copied from interface:MutableJythonSequence
Removeselement
from the sequence, if it exists.- Specified by:
remove
in interfaceMutableJythonSequence
- Throws:
org.python.core.PyException
-Py.ValueError
if the element is not in the sequence.
-
pop
public org.python.core.PyObject pop() throws org.python.core.PyException
Description copied from interface:MutableJythonSequence
Pops the last element off the sequence and returns it.- Specified by:
pop
in interfaceMutableJythonSequence
- Throws:
org.python.core.PyException
-Py.IndexError
if the sequence is empty.
-
pop
public abstract org.python.core.PyObject pop(int index) throws org.python.core.PyException
Description copied from interface:MutableJythonSequence
Pops the element atindex
off the sequence and returns it. Should support negative values forindex
, to indicate offset from the end of the sequence.- Specified by:
pop
in interfaceMutableJythonSequence
- Throws:
org.python.core.PyException
-Py.IndexError
if the index is not in range.
-
pyset
protected abstract void pyset(int index, org.python.core.PyObject value)
- Overrides:
pyset
in classorg.python.core.PySequence
-
insert
public abstract void insert(int index, org.python.core.PyObject element)
Description copied from interface:MutableJythonSequence
Addselement
to sequence at positionindex
.- Specified by:
insert
in interfaceMutableJythonSequence
-
setslice
protected void setslice(int start, int stop, int step, org.python.core.PyObject value) throws org.python.core.PyIgnoreMethodTag
Deliberately stubbed - override if you want to implement slice assignment, a fairly uncommon Python operation:l = ['a', 'b', 'c', 'd'] l[1:2] = (2, 3) print l >>> ['a', 2, 3, 'd']
- Overrides:
setslice
in classorg.python.core.PySequence
- Throws:
org.python.core.PyIgnoreMethodTag
- marker exception to prevent this method from being visible in Jython code.
-
delslice
protected void delslice(int start, int stop, int step, int n) throws org.python.core.PyIgnoreMethodTag
Deliberately stubbed - override if you want to implement slice deletion, a fairly uncommon Python operation:l = ['a', 'b', 'c', 'd'] del l[1:2] print l >>> ['a', 'd']
- Overrides:
delslice
in classorg.python.core.PySequence
- Throws:
org.python.core.PyIgnoreMethodTag
- marker exception to prevent this method from being visible in Jython code.
-
__imul__
public org.python.core.PyObject __imul__(org.python.core.PyObject other) throws org.python.core.PyIgnoreMethodTag
Deliberately stubbed - override if you want to implement the (uncommon)__imul__
operator.l = ['a', 'b', 'c', 'd'] l *= 2 print l >>> ['a', 'b', 'c', 'd', 'a', 'b', 'c', 'd']
- Specified by:
__imul__
in interfaceMutableJythonSequence
- Overrides:
__imul__
in classorg.python.core.PyObject
- Returns:
- the result of the mul, or
null
if this operation is not defined - Throws:
org.python.core.PyIgnoreMethodTag
- marker exception to prevent this method from being visible in Jython code.
-
sort
public void sort(org.python.core.PyObject[] args, java.lang.String[] keywords) throws org.python.core.PyIgnoreMethodTag
Deliberately stubbed - override if you want to implement in-place sorting.l = ['a', 'b', 'c', 'd'] l.sort(reverse=True) print l >>> ['d', 'c', 'b', 'a']
- Specified by:
sort
in interfaceMutableJythonSequence
- Throws:
org.python.core.PyIgnoreMethodTag
- marker exception to prevent this method from being visible in Jython code.
-
-