org.python.core
Class PyDictionary

java.lang.Object
  extended byorg.python.core.PyObject
      extended byorg.python.core.PyDictionary
All Implemented Interfaces:
ClassDictInit, Serializable

public class PyDictionary
extends PyObject
implements ClassDictInit

A builtin python dictionary.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.python.core.PyObject
__class__
 
Constructor Summary
PyDictionary()
          Create an empty dictionary.
PyDictionary(Hashtable t)
          Create an new dictionary which is based on the hashtable.
PyDictionary(PyObject[] elements)
          Create a new dictionary with the element as content.
 
Method Summary
 int __cmp__(PyObject ob_other)
          Equivalent to the standard Python __cmp__ method.
 void __delitem__(PyObject key)
          Equivalent to the standard Python __delitem__ method.
 PyObject __findattr__(String name)
          A variant of the __findattr__ method which accepts a Java String as the name.
 PyObject __finditem__(int index)
          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.
 int __len__()
          Equivalent to the standard Python __len__ method.
 boolean __nonzero__()
          Equivalent to the standard Python __nonzero__ method.
 void __setitem__(PyObject key, PyObject value)
          Equivalent to the standard Python __setitem__ method.
static void classDictInit(PyObject dict)
          Internal use only.
 void clear()
          Remove all items from the dictionary.
 PyDictionary copy()
          Return a shallow copy of the dictionary.
 PyObject get(PyObject key)
          Return this[key] if the key exists in the mapping, None is returned otherwise.
 PyObject get(PyObject key, PyObject default_object)
          Return this[key] if the key exists in the mapping, default_object is returned otherwise.
 boolean has_key(PyObject key)
          Return true if the key exist in the dictionary.
 int hashCode()
           
 PyList items()
          Return a copy of the dictionarys list of (key, value) tuple pairs.
 PyList keys()
          Return a copy of the dictionarys list of keys.
 PyObject popitem()
          Return a random (key, value) tuple pair and remove the pair from the dictionary.
 String safeRepr()
           
 PyObject setdefault(PyObject key)
          Return this[key] if the key exist, otherwise insert key with a None value and return None.
 PyObject setdefault(PyObject key, PyObject failobj)
          Return this[key] if the key exist, otherwise insert key with the value of failobj and return failobj
 String toString()
           
 void update(PyDictionary d)
          Insert all the key:value pairs from d into this dictionary.
 void update(PyStringMap d)
          Insert all the key:value pairs from d into this dictionary.
 PyList values()
          Return a copy of the dictionarys list of values.
 
Methods inherited from class org.python.core.PyObject
__abs__, __add__, __and__, __anye__, __bde__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __eq__, __findattr__, __finditem__, __float__, __ge__, __getattr__, __getattr__, __getitem__, __getitem__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ilshift__, __imod__, __imul__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __ixor__, __lde__, __le__, __like__, __long__, __lshift__, __lt__, __mod__, __mul__, __ne__, __neg__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rcontained__, __rcontains__, __rde__, __rdiv__, __rdivmod__, __repr__, __rexact__, __rlshift__, __rmod__, __rmul__, __ror__, __roverlaps__, __rpow__, __rrshift__, __rshift__, __rsub__, __rxor__, __setattr__, __setattr__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __str2__, __sub__, __tojava__, __xor__, _add, _and, _anye, _bde, _callextra, _cmp, _div, _divmod, _dodel, _doget, _doget, _doset, _eq, _ge, _gt, _in, _is, _isnot, _jcall, _jcallexc, _jthrow, _lde, _le, _like, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rcontained, _rcontains, _rde, _rexact, _roverlaps, _rshift, _sub, _xor, equals, invoke, invoke, invoke, invoke, invoke, isCallable, isMappingType, isNumberType, isSequenceType
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PyDictionary

public PyDictionary()
Create an empty dictionary.


PyDictionary

public PyDictionary(Hashtable t)
Create an new dictionary which is based on the hashtable.

Parameters:
t - the hashtable used. The supplied hashtable is used as is and must only contain PyObject key:value pairs.

PyDictionary

public PyDictionary(PyObject[] elements)
Create a new dictionary with the element as content.

Parameters:
elements - The initial elements that is inserted in the dictionary. Even numbered elements are keys, odd numbered elements are values.
Method Detail

classDictInit

public static void classDictInit(PyObject dict)
Internal use only. Do not call this method explicit.


safeRepr

public String safeRepr()
                throws PyIgnoreMethodTag
Overrides:
safeRepr in class PyObject
Throws:
PyIgnoreMethodTag

__findattr__

public PyObject __findattr__(String name)
Description copied from class: PyObject
A variant of the __findattr__ method which accepts a Java String as the name. By default, this method will call __findattr__(PyString name) with the appropriate args. The only reason to override this method is for performance. Warning: name must be an interned string!!!!!!!!

Overrides:
__findattr__ in class PyObject
Parameters:
name - the name to lookup in this namespace must be an interned string .
Returns:
the value corresponding to name or null if name is not found
See Also:
PyObject.__findattr__(PyString)

__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__(int index)
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 PyObject
Parameters:
index - 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)

__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

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

toString

public String toString()

__cmp__

public int __cmp__(PyObject ob_other)
Description copied from class: PyObject
Equivalent to the standard Python __cmp__ method.

Overrides:
__cmp__ in class PyObject
Parameters:
ob_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 dictionary.
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 dictionary.

copy

public PyDictionary copy()
Return a shallow copy of the dictionary.


clear

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


update

public void update(PyDictionary d)
Insert all the key:value pairs from d into this dictionary.


update

public void update(PyStringMap d)
Insert all the key:value pairs from d into this dictionary.


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 dictionary.

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 dictionary.
failobj - the default value to insert in the dictionary if key does not already exist.

popitem

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


items

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


keys

public PyList keys()
Return a copy of the dictionarys list of keys.


values

public PyList values()
Return a copy of the dictionarys list of values.


hashCode

public int hashCode()
Overrides:
hashCode in class PyObject