Package org.python.core
Class PyDictionary
- java.lang.Object
-
- org.python.core.PyObject
-
- org.python.core.PyDictionary
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
PyDictionaryDerived
public class PyDictionary extends PyObject
A builtin python dictionary.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.Stringexposed_name
-
Constructor Summary
Constructors Constructor Description PyDictionary()Create an empty dictionary.PyDictionary(java.util.Hashtable t)Create an new dictionary which is based on the hashtable.PyDictionary(PyObject[] elements)Create a new dictionary with the element as content.PyDictionary(PyType subtype)For derived types
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int__cmp__(PyObject ob_other)Equivalent to the standard Python __cmp__ method.boolean__contains__(PyObject o)Equivalent to the standard Python __contains__ method.void__delitem__(PyObject key)Equivalent to the standard Python __delitem__ method.PyObject__eq__(PyObject ob_other)Equivalent to the standard Python __eq__ method.PyObject__finditem__(int index)A variant of the __finditem__ method which accepts a primitiveintas the key.PyObject__finditem__(PyObject key)Very similar to the standard Python __getitem__ method.PyObject__iter__()Return an iterator that is used to iterate the element of this sequence.int__len__()Equivalent to the standard Python __len__ method.PyObject__ne__(PyObject ob_other)Equivalent to the standard Python __ne__ method.boolean__nonzero__()Equivalent to the standard Python __nonzero__ method.void__setitem__(PyObject key, PyObject value)Equivalent to the standard Python __setitem__ method.voidclear()Remove all items from the dictionary.PyDictionarycopy()Return a shallow copy of the dictionary.static PyObjectfromkeys(PyObject keys)static PyObjectfromkeys(PyObject keys, PyObject value)PyObjectget(PyObject key)Return this[key] if the key exists in the mapping, None is returned otherwise.PyObjectget(PyObject key, PyObject default_object)Return this[key] if the key exists in the mapping, default_object is returned otherwise.booleanhas_key(PyObject key)Return true if the key exist in the dictionary.inthashCode()booleanisSequenceType()PyListitems()Return a copy of the dictionarys list of (key, value) tuple pairs.PyObjectiteritems()Return an interator over (key, value) pairs.PyObjectiterkeys()Return an interator over (key, value) pairs.PyObjectitervalues()Return an interator over (key, value) pairs.PyListkeys()Return a copy of the dictionarys list of keys.PyObjectpop(PyObject key)Return a value based on key from the dictionary.PyObjectpop(PyObject key, PyObject defaultValue)Return a value based on key from the dictionary or default if that key is not found.PyObjectpopitem()Return a random (key, value) tuple pair and remove the pair from the dictionary.PyObjectsetdefault(PyObject key)Return this[key] if the key exist, otherwise insert key with a None value and return None.PyObjectsetdefault(PyObject key, PyObject failobj)Return this[key] if the key exist, otherwise insert key with the value of failobj and return failobjjava.lang.StringtoString()static voidtypeSetup(PyObject dict, PyType.Newstyle marker)voidupdate(PyObject d)Insert all the key:value pairs fromdinto this dictionary.PyListvalues()Return a copy of the dictionarys list of values.-
Methods inherited from class org.python.core.PyObject
__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __coerce__, __coerce_ex__, __complex__, __delattr__, __delattr__, __delete__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __findattr__, __findattr__, __finditem__, __float__, __floordiv__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __iternext__, __itruediv__, __ixor__, __le__, __long__, __lshift__, __lt__, __mod__, __mul__, __neg__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __tojava__, __truediv__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _in, _is, _isnot, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asInt, asLong, asName, asString, asStringOrNull, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getDoc, getType, implementsDescrDelete, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isMappingType, isNumberType, noAttributeError, readonlyAttributeError, safeRepr, setDict, setType
-
-
-
-
Field Detail
-
exposed_name
public static final java.lang.String exposed_name
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PyDictionary
public PyDictionary()
Create an empty dictionary.
-
PyDictionary
public PyDictionary(PyType subtype)
For derived types- Parameters:
subtype-
-
PyDictionary
public PyDictionary(java.util.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
-
typeSetup
public static void typeSetup(PyObject dict, PyType.Newstyle marker)
-
__len__
public int __len__()
Description copied from class:PyObjectEquivalent to the standard Python __len__ method. Part of the mapping discipline.
-
__nonzero__
public boolean __nonzero__()
Description copied from class:PyObjectEquivalent to the standard Python __nonzero__ method. Returns whether of not a givenPyObjectis considered true.- Overrides:
__nonzero__in classPyObject
-
__finditem__
public PyObject __finditem__(int index)
Description copied from class:PyObjectA variant of the __finditem__ method which accepts a primitiveintas 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 classPyObject- 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:PyObjectVery 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 classPyObject- 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:PyObjectEquivalent to the standard Python __setitem__ method.- Overrides:
__setitem__in classPyObject- Parameters:
key- the key whose value will be setvalue- the value to set this key to
-
__delitem__
public void __delitem__(PyObject key)
Description copied from class:PyObjectEquivalent to the standard Python __delitem__ method.- Overrides:
__delitem__in classPyObject- Parameters:
key- the key to be removed from the container
-
__iter__
public PyObject __iter__()
Description copied from class:PyObjectReturn 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 }
-
__eq__
public PyObject __eq__(PyObject ob_other)
Description copied from class:PyObjectEquivalent to the standard Python __eq__ method.
-
__ne__
public PyObject __ne__(PyObject ob_other)
Description copied from class:PyObjectEquivalent to the standard Python __ne__ method.
-
__cmp__
public int __cmp__(PyObject ob_other)
Description copied from class:PyObjectEquivalent to the standard Python __cmp__ method.
-
has_key
public boolean has_key(PyObject key)
Return true if the key exist in the dictionary.
-
__contains__
public boolean __contains__(PyObject o)
Description copied from class:PyObjectEquivalent to the standard Python __contains__ method.- Overrides:
__contains__in classPyObject- Parameters:
o- the element to search for in this container.- Returns:
- the result of the search.
-
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(PyObject d)
Insert all the key:value pairs fromdinto 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.
-
pop
public PyObject pop(PyObject key, PyObject defaultValue)
Return a value based on key from the dictionary or default if that key is not found.
-
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.
-
iteritems
public PyObject iteritems()
Return an interator over (key, value) pairs.
-
iterkeys
public PyObject iterkeys()
Return an interator over (key, value) pairs.
-
itervalues
public PyObject itervalues()
Return an interator over (key, value) pairs.
-
isSequenceType
public boolean isSequenceType()
- Overrides:
isSequenceTypein classPyObject
-
-