Class PyStringMap

java.lang.Object
org.python.core.PyObject
org.python.core.PyStringMap
All Implemented Interfaces:
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:
  • Constructor Details

    • PyStringMap

      public PyStringMap(int capacity)
    • PyStringMap

      public PyStringMap()
    • PyStringMap

      public PyStringMap(PyObject[] elements)
  • Method Details

    • __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__(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:
    • __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__(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:
    • __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__(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:
    • __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 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