Class PyStringMap

  • All Implemented Interfaces:
    java.io.Serializable

    public class PyStringMap
    extends PyObject
    A faster Dictionary where the keys have to be strings.

    This is the default for all __dict__ instances.

    See Also:
    Serialized Form
    • Constructor Detail

      • PyStringMap

        public PyStringMap​(int capacity)
      • PyStringMap

        public PyStringMap()
      • PyStringMap

        public PyStringMap​(PyObject[] elements)
    • Method Detail

      • __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 PyObject
        Returns:
        the length of the object
      • __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 PyObject
      • __finditem__

        public PyObject __finditem__​(java.lang.String key)
        Description copied from class: PyObject
        A variant of the __finditem__ method which accepts a Java String 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. Warning: key must be an interned string!!!!!!!!
        Overrides:
        __finditem__ in class PyObject
        Parameters:
        key - the key to lookup in this sequence - must be an interned string .
        Returns:
        the value corresponding to key or null if key is not found.
        See Also:
        PyObject.__finditem__(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 PyObject
        Parameters:
        key - the key to lookup in this container
        Returns:
        the value corresponding to key or null if key is not found
      • __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:
            PyObject iter = seq.__iter__();
            for (PyObject item; (item = iter.__iternext__()) != null;)  {
                // Do somting with item
            }
         
        Overrides:
        __iter__ in class PyObject
      • __setitem__

        public void __setitem__​(java.lang.String key,
                                PyObject value)
        Description copied from class: PyObject
        A variant of the __setitem__ method which accepts a String as the key. This String must be interned. By default, this will call __setitem__(PyObject key, PyObject value) with the appropriate args. The only reason to override this method is for performance.
        Overrides:
        __setitem__ in class PyObject
        Parameters:
        key - the key whose value will be set - must be an interned string .
        value - the value to set this key to
        See Also:
        PyObject.__setitem__(PyObject, 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 PyObject
        Parameters:
        key - the key whose value will be set
        value - the value to set this key to
      • __delitem__

        public void __delitem__​(java.lang.String key)
        Description copied from class: PyObject
        A variant of the __delitem__ method which accepts a String as the key. This String must be interned. By default, this will call __delitem__(PyObject key) with the appropriate args. The only reason to override this method is for performance.
        Overrides:
        __delitem__ in class PyObject
        Parameters:
        key - the key who will be removed - must be an interned string .
        See Also:
        PyObject.__delitem__(PyObject)
      • __delitem__

        public void __delitem__​(PyObject key)
        Description copied from class: PyObject
        Equivalent to the standard Python __delitem__ method.
        Overrides:
        __delitem__ in class PyObject
        Parameters:
        key - the key to be removed from the container
      • clear

        public void clear()
        Remove all items from the dictionary.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class PyObject
      • __cmp__

        public int __cmp__​(PyObject other)
        Description copied from class: PyObject
        Equivalent to the standard Python __cmp__ method.
        Overrides:
        __cmp__ in class PyObject
        Parameters:
        other - the object to compare this with.
        Returns:
        -1 if this < 0; 0 if this == o; +1 if this > o; -2 if no comparison is implemented
      • has_key

        public boolean has_key​(PyObject key)
        Return true if the key exist in the dictionary.
      • get

        public PyObject get​(PyObject key,
                            PyObject default_object)
        Return this[key] if the key exists in the mapping, default_object is returned otherwise.
        Parameters:
        key - the key to lookup in the mapping.
        default_object - the value to return if the key does not exists in the mapping.
      • get

        public PyObject get​(PyObject key)
        Return this[key] if the key exists in the mapping, None is returned otherwise.
        Parameters:
        key - the key to lookup in the mapping.
      • copy

        public PyStringMap copy()
        Return a shallow copy of the dictionary.
      • update

        public void update​(PyStringMap map)
        Insert all the key:value pairs from map into this mapping.
      • update

        public void update​(PyDictionary dict)
        Insert all the key:value pairs from dict into this mapping.
      • setdefault

        public PyObject setdefault​(PyObject key)
        Return this[key] if the key exist, otherwise insert key with a None value and return None.
        Parameters:
        key - the key to lookup in the mapping.
      • setdefault

        public PyObject setdefault​(PyObject key,
                                   PyObject failobj)
        Return this[key] if the key exist, otherwise insert key with the value of failobj and return failobj
        Parameters:
        key - the key to lookup in the mapping.
        failobj - the default value to insert in the mapping if key does not already exist.
      • popitem

        public PyObject popitem()
        Return a random (key, value) tuple pair and remove the pair from the mapping.
      • items

        public PyList items()
        Return a copy of the mappings list of (key, value) tuple pairs.
      • keys

        public PyList keys()
        Return a copy of the mappings list of keys.
      • values

        public PyList values()
        Return a copy of the mappings list of values.
      • iteritems

        public PyObject iteritems()
        return an iterator over (key, value) pairs
      • iterkeys

        public PyObject iterkeys()
        return an iterator over the keys
      • itervalues

        public PyObject itervalues()
        return an iterator over the values