Class AbstractMutableJythonSequence

    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.python.core.PySequence

        org.python.core.PySequence.DefaultIndexDelegate
      • Nested classes/interfaces inherited from class org.python.core.PyObject

        org.python.core.PyObject.ConversionException
    • Field Summary

      • Fields inherited from class org.python.core.PySequence

        delegator
      • Fields inherited from class org.python.core.PyObject

        attributes, gcMonitorGlobal, objtype, TYPE
    • 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)
      Adds element 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 from sequence to the end of the sequence.
      abstract void insert​(int index, org.python.core.PyObject element)
      Adds element to sequence at position index.
      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 at index 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)
      Removes element 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 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 class java.lang.Object

        clone, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • AbstractMutableJythonSequence

        public AbstractMutableJythonSequence​(java.lang.Class<?> clazz)
        Parameters:
        clazz - A reference to your implementing class - can't use getClass since the type is used in some Jython reflection stuff that happens on initialization.
    • Method Detail

      • extend

        public abstract void extend​(org.python.core.PyObject sequence)
        Description copied from interface: MutableJythonSequence
        Adds all elements from sequence to the end of the sequence.
        Specified by:
        extend in interface MutableJythonSequence
      • remove

        public abstract void remove​(org.python.core.PyObject element)
                             throws org.python.core.PyException
        Description copied from interface: MutableJythonSequence
        Removes element from the sequence, if it exists.
        Specified by:
        remove in interface MutableJythonSequence
        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 interface MutableJythonSequence
        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 at index off the sequence and returns it. Should support negative values for index, to indicate offset from the end of the sequence.
        Specified by:
        pop in interface MutableJythonSequence
        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 class org.python.core.PySequence
      • insert

        public abstract void insert​(int index,
                                    org.python.core.PyObject element)
        Description copied from interface: MutableJythonSequence
        Adds element to sequence at position index.
        Specified by:
        insert in interface MutableJythonSequence
      • 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 class org.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 class org.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 interface MutableJythonSequence
        Overrides:
        __imul__ in class org.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 interface MutableJythonSequence
        Throws:
        org.python.core.PyIgnoreMethodTag - marker exception to prevent this method from being visible in Jython code.