Class AbstractJythonMap

  • All Implemented Interfaces:
    JythonMap, java.io.Serializable
    Direct Known Subclasses:
    AbstractMutableJythonMap, DotReferenceJythonMap

    public abstract class AbstractJythonMap
    extends org.python.core.PyObject
    implements JythonMap
    Base class to pretend to be a Python map, AKA a dictionary. Easier to subclass than the stuff in Jython's internals - you don't have to expose your own concurrent map, for instance. If you don't want to implement a method, leave it a no-op but add PyIgnoreMethodTag to the throws declaration, which will prevent it from being exposed to Jython.
    See Also:
    Serialized Form
    • Nested Class Summary

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

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

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

        attributes, gcMonitorGlobal, objtype, TYPE
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.python.core.PyObject __finditem__​(int key)
      Look up and return the specified key.
      org.python.core.PyObject __finditem__​(org.python.core.PyObject pyKey)
      Look up and return the specified key.
      org.python.core.PyObject __iter__()
      Returns an iterator over this mapping.
      org.python.core.PyString __repr__()  
      org.python.core.PyString __str__()  
      org.python.core.PyObject get​(org.python.core.PyObject pyKey)
      Get the value for the specified key, or PyNone if there was no result.
      boolean has_key​(org.python.core.PyObject pyKey)  
      boolean isMappingType()  
      boolean isNumberType()  
      boolean isSequenceType()  
      org.python.core.PyObject iteritems()  
      org.python.core.PyObject iterkeys()  
      org.python.core.PyObject itervalues()  
      java.lang.String toString()  
      • Methods inherited from class org.python.core.PyObject

        __abs__, __add__, __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__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __ensure_finalizer__, __eq__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __float__, __floordiv__, __format__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __iternext__, __itruediv__, __ixor__, __le__, __len__, __long__, __lshift__, __lt__, __mod__, __mul__, __ne__, __neg__, __nonzero__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rawdir__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __sub__, __tojava__, __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, runsupportedopMessage, setDict, setType, unsupportedopMessage
      • Methods inherited from class java.lang.Object

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

      • AbstractJythonMap

        public AbstractJythonMap()
    • Method Detail

      • __iter__

        public org.python.core.PyObject __iter__()
        Description copied from interface: JythonMap
        Returns an iterator over this mapping. For 'dictionary' like classes, should just be the keys.
        Specified by:
        __iter__ in interface JythonMap
        Overrides:
        __iter__ in class org.python.core.PyObject
      • has_key

        public boolean has_key​(org.python.core.PyObject pyKey)
        Specified by:
        has_key in interface JythonMap
        Returns:
        true if the underlying map has the requisite key. Usage is generally discouraged - the Pythonic approach is to use key in mapping.
      • get

        public org.python.core.PyObject get​(org.python.core.PyObject pyKey)
        Description copied from interface: JythonMap
        Get the value for the specified key, or PyNone if there was no result. Should not throw an exception.
        Specified by:
        get in interface JythonMap
        Parameters:
        pyKey - The key, which may be a string (PyObject.asString() or a numeric index (PyObject.asInt()
      • __finditem__

        public org.python.core.PyObject __finditem__​(org.python.core.PyObject pyKey)
                                              throws org.python.core.PyException
        Description copied from interface: JythonMap
        Look up and return the specified key.
        Specified by:
        __finditem__ in interface JythonMap
        Overrides:
        __finditem__ in class org.python.core.PyObject
        Throws:
        org.python.core.PyException
      • __finditem__

        public org.python.core.PyObject __finditem__​(int key)
                                              throws org.python.core.PyException
        Description copied from interface: JythonMap
        Look up and return the specified key.
        Specified by:
        __finditem__ in interface JythonMap
        Overrides:
        __finditem__ in class org.python.core.PyObject
        Throws:
        org.python.core.PyException
      • isMappingType

        public boolean isMappingType()
                              throws org.python.core.PyIgnoreMethodTag
        Overrides:
        isMappingType in class org.python.core.PyObject
        Throws:
        org.python.core.PyIgnoreMethodTag
      • isSequenceType

        public boolean isSequenceType()
                               throws org.python.core.PyIgnoreMethodTag
        Overrides:
        isSequenceType in class org.python.core.PyObject
        Throws:
        org.python.core.PyIgnoreMethodTag
      • isNumberType

        public boolean isNumberType()
                             throws org.python.core.PyIgnoreMethodTag
        Overrides:
        isNumberType in class org.python.core.PyObject
        Throws:
        org.python.core.PyIgnoreMethodTag
      • __repr__

        public org.python.core.PyString __repr__()
        Overrides:
        __repr__ in class org.python.core.PyObject
      • __str__

        public org.python.core.PyString __str__()
        Overrides:
        __str__ in class org.python.core.PyObject
      • toString

        public java.lang.String toString()
                                  throws org.python.core.PyIgnoreMethodTag
        Specified by:
        toString in interface JythonMap
        Overrides:
        toString in class org.python.core.PyObject
        Returns:
        a string containing a printable representation of this object. If practical, should match the evaluation format of a Python dictionary - {"key": 123, "key_2": "value"}
        Throws:
        org.python.core.PyIgnoreMethodTag