org.python.core

## Class PyShadowStringDerived

- java.lang.Object
- - org.python.core.PyObject
  - - org.python.core.PySequence
    - - org.python.core.PyBaseString
      - - org.python.core.PyString
        - - org.python.core.PyShadowString
          - - org.python.core.PyShadowStringDerived

All Implemented Interfaces:
  java.io.Serializable, java.lang.CharSequence, BufferProtocol, FinalizablePyObjectDerived, Slotted, TraverseprocDerived

    public class PyShadowStringDerived
    extends PyShadowString
    implements Slotted, FinalizablePyObjectDerived, TraverseprocDerived

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class org.python.core.PyObject

`PyObject.ConversionException`

### Field Summary

### Fields inherited from class org.python.core.PyShadowString

`TYPE`

### Fields inherited from class org.python.core.PyObject

`gcMonitorGlobal`

### Constructor Summary

Constructors
Constructor and Description
`PyShadowStringDerived(PyType subtype, PyObject str, PyObject shadow)`

### Method Summary

All Methods Instance Methods Concrete Methods
`PyObject` `__abs__()` Equivalent to the standard Python __abs__ method.
`PyObject` `__add__(PyObject other)` Equivalent to the standard Python __add__ method.
`PyObject` `__and__(PyObject other)` Equivalent to the standard Python __and__ method
`PyObject` `__call__(PyObject[] args, java.lang.String[] keywords)` The basic method to override when implementing a callable object.
`int` `__cmp__(PyObject other)` Equivalent to the standard Python __cmp__ method.
`java.lang.Object` `__coerce_ex__(PyObject o)` Implements numeric coercion
`PyComplex` `__complex__()` Equivalent to the standard Python __complex__ method.
`boolean` `__contains__(PyObject o)` Equivalent to the standard Python __contains__ method.
`void` `__del_derived__()` `__del_builtin__` is the built-in's own finalizer, while `__del_derived__` refers to an instance's in-dict `__del__`.
`void` `__delattr__(java.lang.String name)` A variant of the __delattr__ method which accepts a String as the key.
`void` `__delete__(PyObject obj)`
`void` `__delitem__(PyObject key)` Equivalent to the standard Python __delitem__ method.
`void` `__delslice__(PyObject start, PyObject stop, PyObject step)`
`PyObject` `__dir__()` Equivalent to the standard Python __dir__ method.
`PyObject` `__div__(PyObject other)` Equivalent to the standard Python __div__ method
`PyObject` `__divmod__(PyObject other)` Equivalent to the standard Python __divmod__ method
`void` `__ensure_finalizer__()` PyObjects that implement `org.python.core.finalization.HasFinalizeTrigger` shall implement this method via: `FinalizeTrigger.ensureFinalizer(this);`
`PyObject` `__eq__(PyObject other)` Compare this `PyShadowString` with another `PyObject` for equality.
`PyObject` `__findattr_ex__(java.lang.String name)` Attribute lookup hook.
`PyObject` `__finditem__(int key)` A variant of the __finditem__ method which accepts a primitive `int` as the key.
`PyObject` `__finditem__(PyObject key)` Very similar to the standard Python __getitem__ method.
`PyFloat` `__float__()` Equivalent to the standard Python __float__ method.
`PyObject` `__floordiv__(PyObject other)` Equivalent to the standard Python __floordiv__ method
`PyObject` `__format__(PyObject other)`
`PyObject` `__ge__(PyObject other)` Equivalent to the standard Python __ge__ method.
`PyObject` `__get__(PyObject obj, PyObject type)` Get descriptor for this PyObject.
`PyObject` `__getitem__(PyObject key)` Equivalent to the standard Python __getitem__ method.
`PyObject` `__getslice__(PyObject start, PyObject stop, PyObject step)`
`PyObject` `__gt__(PyObject other)` Equivalent to the standard Python __gt__ method.
`PyString` `__hex__()` Equivalent to the standard Python __hex__ method Should only be overridden by numeric objects that can be reasonably represented as a hexadecimal string.
`PyObject` `__iadd__(PyObject other)` Equivalent to the standard Python __iadd__ method.
`PyObject` `__iand__(PyObject other)` Equivalent to the standard Python __iand__ method
`PyObject` `__idiv__(PyObject other)` Equivalent to the standard Python __idiv__ method
`PyObject` `__ifloordiv__(PyObject other)` Equivalent to the standard Python __ifloordiv__ method
`PyObject` `__ilshift__(PyObject other)` Equivalent to the standard Python __ilshift__ method
`PyObject` `__imod__(PyObject other)` Equivalent to the standard Python __imod__ method
`PyObject` `__imul__(PyObject other)` Equivalent to the standard Python __imul__ method.
`PyObject` `__index__()` Equivalent to the standard Python __index__ method.
`PyObject` `__int__()` Equivalent to the standard Python __int__ method.
`PyObject` `__invert__()` Equivalent to the standard Python __invert__ method.
`PyObject` `__ior__(PyObject other)` Equivalent to the standard Python __ior__ method
`PyObject` `__ipow__(PyObject other)` Equivalent to the standard Python __ipow__ method
`PyObject` `__irshift__(PyObject other)` Equivalent to the standard Python __irshift__ method
`PyObject` `__isub__(PyObject other)` Equivalent to the standard Python __isub__ method
`PyObject` `__iter__()` Return an iterator that is used to iterate the element of this sequence.
`PyObject` `__iternext__()` Return the next element of the sequence that this is an iterator for.
`PyObject` `__itruediv__(PyObject other)` Equivalent to the standard Python __itruediv__ method
`PyObject` `__ixor__(PyObject other)` Equivalent to the standard Python __ixor__ method
`PyObject` `__le__(PyObject other)` Equivalent to the standard Python __le__ method.
`int` `__len__()` Equivalent to the standard Python __len__ method.
`PyObject` `__long__()` Equivalent to the standard Python __long__ method.
`PyObject` `__lshift__(PyObject other)` Equivalent to the standard Python __lshift__ method
`PyObject` `__lt__(PyObject other)` Equivalent to the standard Python __lt__ method.
`PyObject` `__mod__(PyObject other)` Equivalent to the standard Python __mod__ method
`PyObject` `__mul__(PyObject other)` Equivalent to the standard Python __mul__ method.
`PyObject` `__ne__(PyObject other)` Equivalent to the standard Python __ne__ method.
`PyObject` `__neg__()` Equivalent to the standard Python __neg__ method.
`boolean` `__nonzero__()` Equivalent to the standard Python __nonzero__ method.
`PyString` `__oct__()` Equivalent to the standard Python __oct__ method.
`PyObject` `__or__(PyObject other)` Equivalent to the standard Python __or__ method
`PyObject` `__pos__()` Equivalent to the standard Python __pos__ method.
`PyObject` `__pow__(PyObject other, PyObject modulo)` Implements the three argument power function.
`PyObject` `__radd__(PyObject other)` Equivalent to the standard Python __radd__ method.
`PyObject` `__rand__(PyObject other)` Equivalent to the standard Python __rand__ method
`PyObject` `__rdiv__(PyObject other)` Equivalent to the standard Python __rdiv__ method
`PyObject` `__rdivmod__(PyObject other)` Equivalent to the standard Python __rdivmod__ method
`PyObject` `__reduce__()` Used for pickling.
`PyString` `__repr__()` Equivalent to the standard Python `__repr__` method.
`PyObject` `__rfloordiv__(PyObject other)` Equivalent to the standard Python __rfloordiv__ method
`PyObject` `__rlshift__(PyObject other)` Equivalent to the standard Python __rlshift__ method
`PyObject` `__rmod__(PyObject other)` Equivalent to the standard Python __rmod__ method
`PyObject` `__rmul__(PyObject other)` Equivalent to the standard Python __rmul__ method.
`PyObject` `__ror__(PyObject other)` Equivalent to the standard Python __ror__ method
`PyObject` `__rpow__(PyObject other)` Equivalent to the standard Python __rpow__ method
`PyObject` `__rrshift__(PyObject other)` Equivalent to the standard Python __rrshift__ method
`PyObject` `__rshift__(PyObject other)` Equivalent to the standard Python __rshift__ method
`PyObject` `__rsub__(PyObject other)` Equivalent to the standard Python __rsub__ method
`PyObject` `__rtruediv__(PyObject other)` Equivalent to the standard Python __rtruediv__ method
`PyObject` `__rxor__(PyObject other)` Equivalent to the standard Python __rxor__ method
`void` `__set__(PyObject obj, PyObject value)`
`void` `__setattr__(java.lang.String name, PyObject value)` A variant of the __setattr__ method which accepts a String as the key.
`void` `__setitem__(PyObject key, PyObject value)` Equivalent to the standard Python __setitem__ method.
`void` `__setslice__(PyObject start, PyObject stop, PyObject step, PyObject value)`
`PyString` `__str__()` Equivalent to the standard Python __str__ method.
`PyObject` `__sub__(PyObject other)` Equivalent to the standard Python __sub__ method
`java.lang.Object` `__tojava__(java.lang.Class c)` Equivalent to the Jython __tojava__ method.
`PyObject` `__truediv__(PyObject other)` Equivalent to the standard Python __truediv__ method
`PyUnicode` `__unicode__()`
`PyObject` `__xor__(PyObject other)` Equivalent to the standard Python __xor__ method
`void` `delDict()`
`void` `dispatch__init__(PyObject[] args, java.lang.String[] keywords)` Dispatch __init__ behavior
`PyObject` `fastGetDict()` xxx implements where meaningful
`PyObject` `getDict()` xxx implements where meaningful
`PyObject` `getSlot(int index)`
`int` `hashCode()`
`void` `setDict(PyObject newDict)`
`void` `setSlot(int index, PyObject value)`
`int` `traverseDerived(Visitproc visit, java.lang.Object arg)` Traverses all reachable `PyObject`s.
`int` `traverseDictIfAny(Visitproc visit, java.lang.Object arg)`

### Methods inherited from class org.python.core.PyShadowString

`addTarget, getshadow, getTargets, shadowstr_addtarget, shadowstr_getshadow, shadowstr_gettargets, startswith, startswith, startswith`

### Methods inherited from class org.python.core.PyString

`__getnewargs__, asDouble, asInt, asLong, asName, asString, asString, atof, atoi, atoi, atol, atol, capitalize, center, charAt, count, count, count, count, count, count, createInstance, decode_UnicodeEscape, decode, decode, decode, encode_UnicodeEscape, encode, encode, encode, endswith, endswith, endswith, expandtabs, expandtabs, find, find, find, find, find, find, fromInterned, getBuffer, getInt, getString, index, index, index, index, index, index, internedString, isalnum, isalpha, isBasicPlane, isdecimal, isdigit, islower, isnumeric, isspace, istitle, isunicode, isupper, join, length, ljust, ljust, lower, lstrip, lstrip, lstrip, partition, replace, replace, rfind, rfind, rfind, rfind, rfind, rfind, rindex, rindex, rindex, rindex, rindex, rindex, rjust, rpartition, rsplit, rsplit, rsplit, rsplit, rsplit, rstrip, rstrip, rstrip, split, split, split, split, split, splitlines, splitlines, str___mod__, strip, strip, strip, subSequence, substring, swapcase, title, toBytes, toCodePoints, toString, translate, translate, translate, translate, upper, zfill`

### Methods inherited from class org.python.core.PySequence

`__setitem__, isMappingType, isNumberType, isSequenceType`

### Methods inherited from class org.python.core.PyObject

`__call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __coerce__, __delattr__, __delitem__, __delslice__, __findattr__, __findattr__, __finditem__, __getattr__, __getattr__, __getitem__, __getslice__, __hash__, __idivmod__, __not__, __pow__, __reduce_ex__, __reduce_ex__, __setattr__, __setitem__, __setslice__, __trunc__, _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, asIndex, asIndex, asInt, asIterable, asLong, asName, asStringOrNull, asStringOrNull, bit_length, conjugate, delType, equals, fastGetClass, getType, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, noAttributeError, object___subclasshook__, readonlyAttributeError, setType`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.lang.CharSequence

`chars, codePoints`

### Constructor Detail

#### PyShadowStringDerived

    public PyShadowStringDerived(PyType subtype,
                                 PyObject str,
                                 PyObject shadow)

### Method Detail

#### getSlot

    public PyObject getSlot(int index)

Specified by:
  `getSlot` in interface `Slotted`

#### setSlot

    public void setSlot(int index,
                        PyObject value)

Specified by:
  `setSlot` in interface `Slotted`

#### __del_derived__

    public void __del_derived__()

Description copied from interface: `FinalizablePyObjectDerived`
`__del_builtin__` is the built-in's own finalizer, while `__del_derived__` refers to an instance's in-dict `__del__`. A FinalizeTrigger calls `__del_derived__` first and - if existent - `__del_builtin__` after that. A plain `__del__` would behave as overridden by `__del_derived__`, i.e. won't be called if the type implements `FinalizablePyObjectDerived` while `__del_builtin__` is called in any case.

Specified by:
  `__del_derived__` in interface `FinalizablePyObjectDerived`

#### __ensure_finalizer__

    public void __ensure_finalizer__()

Description copied from class: `PyObject`
PyObjects that implement `org.python.core.finalization.HasFinalizeTrigger` shall implement this method via:
`FinalizeTrigger.ensureFinalizer(this);`

Overrides:
  `__ensure_finalizer__` in class `PyObject`

#### traverseDerived

    public int traverseDerived(Visitproc visit,
                               java.lang.Object arg)

Description copied from interface: `TraverseprocDerived`
Traverses all reachable `PyObject`s. Like in CPython, `arg` must be passed unmodified to `visit` as its second parameter.

Specified by:
  `traverseDerived` in interface `TraverseprocDerived`

#### fastGetDict

    public PyObject fastGetDict()

Description copied from class: `PyObject`
xxx implements where meaningful

Overrides:
  `fastGetDict` in class `PyObject`
Returns:
  internal object per instance dict or null

#### getDict

    public PyObject getDict()

Description copied from class: `PyObject`
xxx implements where meaningful

Overrides:
  `getDict` in class `PyObject`
Returns:
  internal object __dict__ or null

#### setDict

    public void setDict(PyObject newDict)

Overrides:
  `setDict` in class `PyObject`

#### delDict

    public void delDict()

Overrides:
  `delDict` in class `PyObject`

#### traverseDictIfAny

    public int traverseDictIfAny(Visitproc visit,
                                 java.lang.Object arg)

#### __str__

    public PyString __str__()

Description copied from class: `PyObject`
Equivalent to the standard Python __str__ method. The default implementation (in `PyObject`) calls `PyObject.__repr__()`, making it unnecessary to override `__str__` in sub-classes of `PyObject` where both forms are the same. A common choice is to provide the same implementation to `__str__` and `toString`, for consistency in the printed form of objects between Python and Java.

Overrides:
  `__str__` in class `PyString`

#### __repr__

    public PyString __repr__()

Description copied from class: `PyObject`
Equivalent to the standard Python `__repr__` method. Each sub-class of `PyObject` is likely to re-define this method to provide for its own reproduction.

Overrides:
  `__repr__` in class `PyShadowString`

#### __hex__

    public PyString __hex__()

Description copied from class: `PyObject`
Equivalent to the standard Python __hex__ method Should only be overridden by numeric objects that can be reasonably represented as a hexadecimal string.

Overrides:
  `__hex__` in class `PyObject`
Returns:
  a string representing this object as a hexadecimal number.

#### __oct__

    public PyString __oct__()

Description copied from class: `PyObject`
Equivalent to the standard Python __oct__ method. Should only be overridden by numeric objects that can be reasonably represented as an octal string.

Overrides:
  `__oct__` in class `PyObject`
Returns:
  a string representing this object as an octal number.

#### __float__

    public PyFloat __float__()

Description copied from class: `PyObject`
Equivalent to the standard Python __float__ method. Should only be overridden by numeric objects that can be reasonably coerced into a python float.

Overrides:
  `__float__` in class `PyString`
Returns:
  a float corresponding to the value of this object.

#### __complex__

    public PyComplex __complex__()

Description copied from class: `PyObject`
Equivalent to the standard Python __complex__ method. Should only be overridden by numeric objects that can be reasonably coerced into a python complex number.

Overrides:
  `__complex__` in class `PyString`
Returns:
  a complex number corresponding to the value of this object.

#### __pos__

    public PyObject __pos__()

Description copied from class: `PyObject`
Equivalent to the standard Python __pos__ method.

Overrides:
  `__pos__` in class `PyString`
Returns:
  +this.

#### __neg__

    public PyObject __neg__()

Description copied from class: `PyObject`
Equivalent to the standard Python __neg__ method.

Overrides:
  `__neg__` in class `PyString`
Returns:
  -this.

#### __abs__

    public PyObject __abs__()

Description copied from class: `PyObject`
Equivalent to the standard Python __abs__ method.

Overrides:
  `__abs__` in class `PyObject`
Returns:
  abs(this).

#### __invert__

    public PyObject __invert__()

Description copied from class: `PyObject`
Equivalent to the standard Python __invert__ method.

Overrides:
  `__invert__` in class `PyString`
Returns:
  ~this.

#### __reduce__

    public PyObject __reduce__()

Description copied from class: `PyObject`
Used for pickling. Default implementation calls object___reduce__.

Overrides:
  `__reduce__` in class `PyObject`
Returns:
  a tuple of (class, tuple)

#### __dir__

    public PyObject __dir__()

Description copied from class: `PyObject`
Equivalent to the standard Python __dir__ method.

Overrides:
  `__dir__` in class `PyObject`
Returns:
  a list of names defined by this object.

#### __add__

    public PyObject __add__(PyObject other)

Description copied from class: `PyString`
Equivalent to the standard Python __add__ method. For a `str` addition means concatenation and returns a `str` (`PyString`) result, except when a `PyUnicode` argument is given, when a `PyUnicode` results.

Overrides:
  `__add__` in class `PyString`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the add, or null if this operation is not defined.

#### __radd__

    public PyObject __radd__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __radd__ method.

Overrides:
  `__radd__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the left-hand operand).
Returns:
  the result of the add, or null if this operation is not defined.

#### __sub__

    public PyObject __sub__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __sub__ method

Overrides:
  `__sub__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the sub, or null if this operation is not defined

#### __rsub__

    public PyObject __rsub__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __rsub__ method

Overrides:
  `__rsub__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the left-hand operand).
Returns:
  the result of the sub, or null if this operation is not defined.

#### __mul__

    public PyObject __mul__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __mul__ method.

Overrides:
  `__mul__` in class `PyString`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the mul, or null if this operation is not defined

#### __rmul__

    public PyObject __rmul__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __rmul__ method.

Overrides:
  `__rmul__` in class `PyString`
Parameters:
  `other` - the object to perform this binary operation with (the left-hand operand).
Returns:
  the result of the mul, or null if this operation is not defined.

#### __div__

    public PyObject __div__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __div__ method

Overrides:
  `__div__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the div, or null if this operation is not defined

#### __rdiv__

    public PyObject __rdiv__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __rdiv__ method

Overrides:
  `__rdiv__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the left-hand operand).
Returns:
  the result of the div, or null if this operation is not defined.

#### __floordiv__

    public PyObject __floordiv__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __floordiv__ method

Overrides:
  `__floordiv__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the floordiv, or null if this operation is not defined

#### __rfloordiv__

    public PyObject __rfloordiv__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __rfloordiv__ method

Overrides:
  `__rfloordiv__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the left-hand operand).
Returns:
  the result of the floordiv, or null if this operation is not defined.

#### __truediv__

    public PyObject __truediv__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __truediv__ method

Overrides:
  `__truediv__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the truediv, or null if this operation is not defined

#### __rtruediv__

    public PyObject __rtruediv__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __rtruediv__ method

Overrides:
  `__rtruediv__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the left-hand operand).
Returns:
  the result of the truediv, or null if this operation is not defined.

#### __mod__

    public PyObject __mod__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __mod__ method

Overrides:
  `__mod__` in class `PyString`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the mod, or null if this operation is not defined

#### __rmod__

    public PyObject __rmod__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __rmod__ method

Overrides:
  `__rmod__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the left-hand operand).
Returns:
  the result of the mod, or null if this operation is not defined.

#### __divmod__

    public PyObject __divmod__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __divmod__ method

Overrides:
  `__divmod__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the divmod, or null if this operation is not defined

#### __rdivmod__

    public PyObject __rdivmod__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __rdivmod__ method

Overrides:
  `__rdivmod__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the left-hand operand).
Returns:
  the result of the divmod, or null if this operation is not defined.

#### __rpow__

    public PyObject __rpow__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __rpow__ method

Overrides:
  `__rpow__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the left-hand operand).
Returns:
  the result of the pow, or null if this operation is not defined.

#### __lshift__

    public PyObject __lshift__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __lshift__ method

Overrides:
  `__lshift__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the lshift, or null if this operation is not defined

#### __rlshift__

    public PyObject __rlshift__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __rlshift__ method

Overrides:
  `__rlshift__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the left-hand operand).
Returns:
  the result of the lshift, or null if this operation is not defined.

#### __rshift__

    public PyObject __rshift__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __rshift__ method

Overrides:
  `__rshift__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the rshift, or null if this operation is not defined

#### __rrshift__

    public PyObject __rrshift__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __rrshift__ method

Overrides:
  `__rrshift__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the left-hand operand).
Returns:
  the result of the rshift, or null if this operation is not defined.

#### __and__

    public PyObject __and__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __and__ method

Overrides:
  `__and__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the and, or null if this operation is not defined

#### __rand__

    public PyObject __rand__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __rand__ method

Overrides:
  `__rand__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the left-hand operand).
Returns:
  the result of the and, or null if this operation is not defined.

#### __or__

    public PyObject __or__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __or__ method

Overrides:
  `__or__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the or, or null if this operation is not defined

#### __ror__

    public PyObject __ror__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __ror__ method

Overrides:
  `__ror__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the left-hand operand).
Returns:
  the result of the or, or null if this operation is not defined.

#### __xor__

    public PyObject __xor__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __xor__ method

Overrides:
  `__xor__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the xor, or null if this operation is not defined

#### __rxor__

    public PyObject __rxor__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __rxor__ method

Overrides:
  `__rxor__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the left-hand operand).
Returns:
  the result of the xor, or null if this operation is not defined.

#### __lt__

    public PyObject __lt__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __lt__ method.

Overrides:
  `__lt__` in class `PyString`
Parameters:
  `other` - the object to compare this with.
Returns:
  the result of the comparison.

#### __le__

    public PyObject __le__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __le__ method.

Overrides:
  `__le__` in class `PyString`
Parameters:
  `other` - the object to compare this with.
Returns:
  the result of the comparison.

#### __gt__

    public PyObject __gt__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __gt__ method.

Overrides:
  `__gt__` in class `PyString`
Parameters:
  `other` - the object to compare this with.
Returns:
  the result of the comparison.

#### __ge__

    public PyObject __ge__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __ge__ method.

Overrides:
  `__ge__` in class `PyString`
Parameters:
  `other` - the object to compare this with.
Returns:
  the result of the comparison.

#### __eq__

    public PyObject __eq__(PyObject other)

Description copied from class: `PyShadowString`
Compare this `PyShadowString` with another `PyObject` for equality. A `PyShadowString` is equal to the other object if its primary value is equal to it, or if its shadow value is equal to the other object and the test is made in one of its target contexts. (Two `PyShadowString` are equal if the primary values are equal, the primary of one matches the shadow of the other in the shadow's context, or their shadows match and both are in context.

Overrides:
  `__eq__` in class `PyShadowString`
Parameters:
  `other` - to compare
Returns:
  `PyBoolean` result (or `null` if not implemented)

#### __ne__

    public PyObject __ne__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __ne__ method.

Overrides:
  `__ne__` in class `PyString`
Parameters:
  `other` - the object to compare this with.
Returns:
  the result of the comparison.

#### __format__

    public PyObject __format__(PyObject other)

Overrides:
  `__format__` in class `PyString`

#### __iadd__

    public PyObject __iadd__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __iadd__ method.

Overrides:
  `__iadd__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the iadd, or null if this operation is not defined

#### __isub__

    public PyObject __isub__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __isub__ method

Overrides:
  `__isub__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the isub, or null if this operation is not defined

#### __imul__

    public PyObject __imul__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __imul__ method.

Overrides:
  `__imul__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the imul, or null if this operation is not defined.

#### __idiv__

    public PyObject __idiv__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __idiv__ method

Overrides:
  `__idiv__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the idiv, or null if this operation is not defined

#### __ifloordiv__

    public PyObject __ifloordiv__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __ifloordiv__ method

Overrides:
  `__ifloordiv__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the ifloordiv, or null if this operation is not defined

#### __itruediv__

    public PyObject __itruediv__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __itruediv__ method

Overrides:
  `__itruediv__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the itruediv, or null if this operation is not defined

#### __imod__

    public PyObject __imod__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __imod__ method

Overrides:
  `__imod__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the imod, or null if this operation is not defined

#### __ipow__

    public PyObject __ipow__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __ipow__ method

Overrides:
  `__ipow__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the ipow, or null if this operation is not defined

#### __ilshift__

    public PyObject __ilshift__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __ilshift__ method

Overrides:
  `__ilshift__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the ilshift, or null if this operation is not defined

#### __irshift__

    public PyObject __irshift__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __irshift__ method

Overrides:
  `__irshift__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the irshift, or null if this operation is not defined

#### __iand__

    public PyObject __iand__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __iand__ method

Overrides:
  `__iand__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the iand, or null if this operation is not defined

#### __ior__

    public PyObject __ior__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __ior__ method

Overrides:
  `__ior__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the ior, or null if this operation is not defined

#### __ixor__

    public PyObject __ixor__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __ixor__ method

Overrides:
  `__ixor__` in class `PyObject`
Parameters:
  `other` - the object to perform this binary operation with (the right-hand operand).
Returns:
  the result of the ixor, or null if this operation is not defined

#### __int__

    public PyObject __int__()

Description copied from class: `PyObject`
Equivalent to the standard Python __int__ method. Should only be overridden by numeric objects that can be reasonably coerced into an integer.

Overrides:
  `__int__` in class `PyString`
Returns:
  an integer corresponding to the value of this object.

#### __long__

    public PyObject __long__()

Description copied from class: `PyObject`
Equivalent to the standard Python __long__ method. Should only be overridden by numeric objects that can be reasonably coerced into a python long.

Overrides:
  `__long__` in class `PyString`
Returns:
  a PyLong or PyInteger corresponding to the value of this object.

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `PyString`

#### __unicode__

    public PyUnicode __unicode__()

Overrides:
  `__unicode__` in class `PyString`

#### __cmp__

    public int __cmp__(PyObject other)

Description copied from class: `PyObject`
Equivalent to the standard Python __cmp__ method.

Overrides:
  `__cmp__` in class `PyString`
Parameters:
  `other` - the object to compare this with.
Returns:
  -1 if `this<o`; 0 if `this==o`; +1 if `this>o`; -2 if no comparison is implemented

#### __nonzero__

    public boolean __nonzero__()

Description copied from class: `PyObject`
Equivalent to the standard Python __nonzero__ method. Returns whether of not a given `PyObject` is considered true.

Overrides:
  `__nonzero__` in class `PySequence`

#### __contains__

    public boolean __contains__(PyObject o)

Description copied from class: `PyObject`
Equivalent to the standard Python __contains__ method.

Overrides:
  `__contains__` in class `PyString`
Parameters:
  `o` - the element to search for in this container.
Returns:
  the result of the search.

#### __len__

    public int __len__()

Description copied from class: `PyObject`
Equivalent to the standard Python __len__ method. Part of the mapping discipline.

Overrides:
  `__len__` in class `PyString`
Returns:
  the length of the object

#### __iter__

    public PyObject __iter__()

Description copied from class: `PyObject`
Return 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
     }

Overrides:
  `__iter__` in class `PySequence`

#### __iternext__

    public PyObject __iternext__()

Description copied from class: `PyObject`
Return the next element of the sequence that this is an iterator for. Returns null when the end of the sequence is reached.

Overrides:
  `__iternext__` in class `PyObject`

#### __finditem__

    public PyObject __finditem__(PyObject key)

Description copied from class: `PyObject`
Very 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 class `PySequence`
Parameters:
  `key` - the key to lookup in this container
Returns:
  the value corresponding to key or null if key is not found

#### __finditem__

    public PyObject __finditem__(int key)

Description copied from class: `PyObject`
A variant of the __finditem__ method which accepts a primitive `int` as 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 class `PySequence`
Parameters:
  `key` - the key to lookup in this sequence.
Returns:
  the value corresponding to key or null if key is not found.
See Also:
  `PyObject.__finditem__(PyObject)`

#### __getitem__

    public PyObject __getitem__(PyObject key)

Description copied from class: `PyObject`
Equivalent to the standard Python __getitem__ method. This method should not be overridden. Override the `__finditem__` method instead.

Overrides:
  `__getitem__` in class `PySequence`
Parameters:
  `key` - the key to lookup in this container.
Returns:
  the value corresponding to that key.
See Also:
  `PyObject.__finditem__(PyObject)`

#### __setitem__

    public void __setitem__(PyObject key,
                            PyObject value)

Description copied from class: `PyObject`
Equivalent to the standard Python __setitem__ method.

Overrides:
  `__setitem__` in class `PySequence`
Parameters:
  `key` - the key whose value will be set
  `value` - the value to set this key to

#### __getslice__

    public PyObject __getslice__(PyObject start,
                                 PyObject stop,
                                 PyObject step)

Overrides:
  `__getslice__` in class `PyShadowString`

#### __setslice__

    public void __setslice__(PyObject start,
                             PyObject stop,
                             PyObject step,
                             PyObject value)

Overrides:
  `__setslice__` in class `PySequence`

#### __delslice__

    public void __delslice__(PyObject start,
                             PyObject stop,
                             PyObject step)

Overrides:
  `__delslice__` in class `PySequence`

#### __delitem__

    public void __delitem__(PyObject key)

Description copied from class: `PyObject`
Equivalent to the standard Python __delitem__ method.

Overrides:
  `__delitem__` in class `PySequence`
Parameters:
  `key` - the key to be removed from the container

#### __call__

    public PyObject __call__(PyObject[] args,
                             java.lang.String[] keywords)

Description copied from class: `PyObject`
The basic method to override when implementing a callable object. The first len(args)-len(keywords) members of args[] are plain arguments. The last len(keywords) arguments are the values of the keyword arguments.

Overrides:
  `__call__` in class `PyObject`
Parameters:
  `args` - all arguments to the function (including keyword arguments).
  `keywords` - the keywords used for all keyword arguments.

#### __findattr_ex__

    public PyObject __findattr_ex__(java.lang.String name)

Description copied from class: `PyObject`
Attribute lookup hook. If the attribute is not found, null may be returned or a Py.AttributeError can be thrown, whatever is more correct, efficient and/or convenient for the implementing class. Client code should use `PyObject.__getattr__(String)` or `PyObject.__findattr__(String)`. Both methods have a clear policy for failed lookups.

Overrides:
  `__findattr_ex__` in class `PyObject`
Returns:
  The looked up value. May return null if the attribute is not found

#### __setattr__

    public void __setattr__(java.lang.String name,
                            PyObject value)

Description copied from class: `PyObject`
A variant of the __setattr__ method which accepts a String as the key. This String must be interned.

Overrides:
  `__setattr__` in class `PyObject`
Parameters:
  `name` - the name whose value will be set - must be an interned string .
  `value` - the value to set this name to
See Also:
  `PyObject.__setattr__(PyString, PyObject)`

#### __delattr__

    public void __delattr__(java.lang.String name)

Description copied from class: `PyObject`
A variant of the __delattr__ method which accepts a String as the key. This String must be interned. By default, this will call `__delattr__(PyString name)` with the appropriate args. The only reason to override this method is for performance.

Overrides:
  `__delattr__` in class `PyObject`
Parameters:
  `name` - the name which will be removed - must be an interned string .
See Also:
  `PyObject.__delattr__(PyString)`

#### __get__

    public PyObject __get__(PyObject obj,
                            PyObject type)

Description copied from class: `PyObject`
Get descriptor for this PyObject.

Overrides:
  `__get__` in class `PyObject`
Parameters:
  `obj` - - the instance accessing this descriptor. Can be null if this is being accessed by a type.
  `type` - - the type accessing this descriptor. Will be null if obj exists as obj is of the type accessing the descriptor.
Returns:
  - the object defined for this descriptor for the given obj and type.

#### __set__

    public void __set__(PyObject obj,
                        PyObject value)

Overrides:
  `__set__` in class `PyObject`

#### __delete__

    public void __delete__(PyObject obj)

Overrides:
  `__delete__` in class `PyObject`

#### __pow__

    public PyObject __pow__(PyObject other,
                            PyObject modulo)

Description copied from class: `PyObject`
Implements the three argument power function.

Overrides:
  `__pow__` in class `PyObject`
Parameters:
  `other` - the power to raise this number to.
  `modulo` - the modulus to perform this operation in or null if no modulo is to be used
Returns:
  this object raised to the given power in the given modulus

#### dispatch__init__

    public void dispatch__init__(PyObject[] args,
                                 java.lang.String[] keywords)

Description copied from class: `PyObject`
Dispatch __init__ behavior

Overrides:
  `dispatch__init__` in class `PyObject`

#### __index__

    public PyObject __index__()

Description copied from class: `PyObject`
Equivalent to the standard Python __index__ method.

Overrides:
  `__index__` in class `PyObject`
Returns:
  a PyInteger or PyLong

#### __tojava__

    public java.lang.Object __tojava__(java.lang.Class c)

Description copied from class: `PyObject`
Equivalent to the Jython __tojava__ method. Tries to coerce this object to an instance of the requested Java class. Returns the special object `Py.NoConversion` if this `PyObject` can not be converted to the desired Java class.

Overrides:
  `__tojava__` in class `PyString`
Parameters:
  `c` - the Class to convert this `PyObject` to.

#### __coerce_ex__

    public java.lang.Object __coerce_ex__(PyObject o)

Description copied from class: `PyObject`
Implements numeric coercion

Overrides:
  `__coerce_ex__` in class `PyObject`
Parameters:
  `o` - the other object involved in the coercion
Returns:
  null if coercion is not implemented Py.None if coercion was not possible a single PyObject to use to replace o if this is unchanged; or a PyObject[2] consisting of replacements for this and o.