Package org.python.core
Class PyDictionary
java.lang.Object
org.python.core.PyObject
org.python.core.AbstractDict
org.python.core.PyDictionary
- All Implemented Interfaces:
Serializable,ConcurrentMap,Map,Traverseproc
- Direct Known Subclasses:
PyDefaultDict,PyDictionaryDerived
A builtin python dictionary.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException -
Field Summary
FieldsFields inherited from class org.python.core.PyObject
gcMonitorGlobal -
Constructor Summary
ConstructorsConstructorDescriptionCreate an empty dictionary.PyDictionary(ConcurrentMap<PyObject, PyObject> backingMap, boolean useBackingMap) PyDictionary(Map<PyObject, PyObject> map) Create a new dictionary which is based on given map.PyDictionary(PyObject[] elements) Create a new dictionary with the element as content.PyDictionary(PyType type) For derived typesPyDictionary(PyType type, int capacity) Create a dictionary of type with the specified initial capacity.PyDictionary(PyType type, ConcurrentMap<PyObject, PyObject> backingMap, boolean useBackingMap) PyDictionary(PyType type, Map<PyObject, PyObject> map) Create a new dictionary which is populated with entries the given map. -
Method Summary
Modifier and TypeMethodDescriptionintEquivalent to the standard Python __cmp__ method.booleanEquivalent to the standard Python __contains__ method.void__delitem__(PyObject key) Equivalent to the standard Python __delitem__ method.Equivalent to the standard Python __eq__ method.__finditem__(int index) A variant of the __finditem__ method which accepts a primitiveintas the key.__finditem__(PyObject key) Very similar to the standard Python __getitem__ method.__iter__()Return an iterator that is used to iterate the element of this sequence.int__len__()Equivalent to the standard Python __len__ method.Equivalent to the standard Python __ne__ method.booleanEquivalent 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.booleancontainsKey(Object key) booleancontainsValue(Object value) copy()Return a shallow copy of the dictionary.entrySet()booleanShould almost never be overridden.static PyObjectstatic PyObjectReturn this[key] if the key exists in the mapping, None is returned otherwise.Return this[key] if the key exists in the mapping, defaultObj is returned otherwise.getMap()booleanReturn true if the key exist in the dictionary.inthashCode()booleanisEmpty()booleanbooleanitems()Return a copy of the dictionary's list of (key, value) tuple pairs.Returns an iterator over (key, value) pairs.iterkeys()Returns an iterator over the dictionary's keys.Returns an iterator over the dictionary's values.keys()Return a copy of the dictionary's list of keys.keySet()voidMerge another PyObject that supports keys() with this dict.voidmergeFromKeys(PyObject other, PyObject keys, boolean override) Merge another PyObject via its keys() methodvoidmergeFromSeq(PyObject other, boolean override) Merge any iterable object producing iterable objects of length 2 into this dict.Return a value based on key from the dictionary.Return a value based on key from the dictionary or default if that key is not found.popitem()Return a random (key, value) tuple pair and remove the pair from the dictionary.voidputIfAbsent(Object key, Object value) pyKeySet()booleanOptional operation.booleanbooleansetdefault(PyObject key) Return this[key] if the key exist, otherwise insert key with a None value and return None.setdefault(PyObject key, PyObject failobj) Return this[key] if the key exist, otherwise insert key with the value of failobj and return failobjintsize()toString()intTraverses all directly containedPyObjects.voidInsert all the key:value pairs fromdinto this dictionary.voidupdateCommon(PyObject[] args, String[] keywords, String methName) values()Returns a dict_items on the dictionary's itemsviewkeys()Returns a dict_keys on the dictionary's keysReturns a dict_values on the dictionary's valuesMethods 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__, __coerce__, __coerce_ex__, __complex__, __delattr__, __delattr__, __delete__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __ensure_finalizer__, __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__, __long__, __lshift__, __lt__, __mod__, __mul__, __neg__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __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, _xor, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, bit_length, conjugate, delDict, delType, dispatch__init__, fastGetClass, fastGetDict, getDict, getType, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, isNumberType, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict, setTypeMethods inherited from interface java.util.concurrent.ConcurrentMap
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, replaceAll
-
Field Details
-
TYPE
-
-
Constructor Details
-
PyDictionary
public PyDictionary()Create an empty dictionary. -
PyDictionary
Create a dictionary of type with the specified initial capacity. -
PyDictionary
For derived types -
PyDictionary
Create a new dictionary which is based on given map. -
PyDictionary
-
PyDictionary
public PyDictionary(PyType type, ConcurrentMap<PyObject, PyObject> backingMap, boolean useBackingMap) -
PyDictionary
Create a new dictionary which is populated with entries the given map. -
PyDictionary
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 Details
-
getMap
- Specified by:
getMapin classAbstractDict
-
fromkeys
-
fromkeys
-
__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__
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:
-
__finditem__
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__
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__
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__
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:for (PyObject item : seq.asIterable()) { // Do something with item } -
toString
-
__eq__
Description copied from class:PyObjectEquivalent to the standard Python __eq__ method. -
__ne__
Description copied from class:PyObjectEquivalent to the standard Python __ne__ method. -
__cmp__
Description copied from class:PyObjectEquivalent to the standard Python __cmp__ method. -
has_key
Return true if the key exist in the dictionary.- Specified by:
has_keyin classAbstractDict
-
__contains__
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
Return this[key] if the key exists in the mapping, defaultObj is returned otherwise.- Specified by:
getin classAbstractDict- Parameters:
key- the key to lookup in the dictionary.defaultObj- the value to return if the key does not exists in the mapping.
-
get
Return this[key] if the key exists in the mapping, None is returned otherwise.- Specified by:
getin classAbstractDict- Parameters:
key- the key to lookup in the dictionary.
-
copy
Return a shallow copy of the dictionary.- Specified by:
copyin classAbstractDict
-
clear
public void clear()Remove all items from the dictionary.- Specified by:
clearin interfaceMap- Specified by:
clearin classAbstractDict
-
update
Insert all the key:value pairs fromdinto this dictionary.- Specified by:
updatein classAbstractDict
-
updateCommon
-
merge
Merge another PyObject that supports keys() with this dict.- Specified by:
mergein classAbstractDict- Parameters:
other- a PyObject with a keys() methodoverride- if true, the value from other is used on key-collision
-
mergeFromKeys
Merge another PyObject via its keys() method- Specified by:
mergeFromKeysin classAbstractDict- Parameters:
other- a PyObject with a keys() methodkeys- the result of other's keys() methodoverride- if true, the value from other is used on key-collision
-
mergeFromSeq
Merge any iterable object producing iterable objects of length 2 into this dict.- Specified by:
mergeFromSeqin classAbstractDict- Parameters:
other- another PyObjectoverride- if true, the value from other is used on key-collision
-
setdefault
Return this[key] if the key exist, otherwise insert key with a None value and return None.- Specified by:
setdefaultin classAbstractDict- Parameters:
key- the key to lookup in the dictionary.
-
setdefault
Return this[key] if the key exist, otherwise insert key with the value of failobj and return failobj- Specified by:
setdefaultin classAbstractDict- 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
Return a value based on key from the dictionary.- Specified by:
popin classAbstractDict
-
pop
Return a value based on key from the dictionary or default if that key is not found.- Specified by:
popin classAbstractDict
-
popitem
Return a random (key, value) tuple pair and remove the pair from the dictionary.- Specified by:
popitemin classAbstractDict
-
items
Return a copy of the dictionary's list of (key, value) tuple pairs.- Specified by:
itemsin classAbstractDict
-
keys
Return a copy of the dictionary's list of keys.- Specified by:
keysin classAbstractDict
-
iteritems
Returns an iterator over (key, value) pairs.- Specified by:
iteritemsin classAbstractDict
-
iterkeys
Returns an iterator over the dictionary's keys.- Specified by:
iterkeysin classAbstractDict
-
itervalues
Returns an iterator over the dictionary's values.- Specified by:
itervaluesin classAbstractDict
-
hashCode
public int hashCode() -
equals
Description copied from class:PyObjectShould almost never be overridden. If overridden, it is the subclasses responsibility to ensure thata.equals(b) == trueiffcmp(a,b) == 0 -
isMappingType
public boolean isMappingType()- Overrides:
isMappingTypein classPyObject
-
isSequenceType
public boolean isSequenceType()- Overrides:
isSequenceTypein classPyObject
-
viewkeys
Returns a dict_keys on the dictionary's keys- Overrides:
viewkeysin classAbstractDict
-
viewitems
Returns a dict_items on the dictionary's items- Overrides:
viewitemsin classAbstractDict
-
viewvalues
Returns a dict_values on the dictionary's values- Overrides:
viewvaluesin classAbstractDict
-
pyKeySet
- Specified by:
pyKeySetin classAbstractDict
-
entrySet
- Specified by:
entrySetin interfaceMap- Specified by:
entrySetin classAbstractDict- See Also:
-
keySet
-
values
- Specified by:
valuesin interfaceMap- Specified by:
valuesin classAbstractDict- See Also:
-
putAll
-
remove
-
put
-
get
-
containsValue
- Specified by:
containsValuein interfaceMap- See Also:
-
containsKey
- Specified by:
containsKeyin interfaceMap- See Also:
-
isEmpty
public boolean isEmpty() -
size
public int size() -
putIfAbsent
- Specified by:
putIfAbsentin interfaceConcurrentMap- Specified by:
putIfAbsentin interfaceMap
-
remove
- Specified by:
removein interfaceConcurrentMap- Specified by:
removein interfaceMap
-
replace
- Specified by:
replacein interfaceConcurrentMap- Specified by:
replacein interfaceMap
-
replace
- Specified by:
replacein interfaceConcurrentMap- Specified by:
replacein interfaceMap
-
traverse
Description copied from interface:TraverseprocTraverses all directly containedPyObjects. Like in CPython,argmust be passed unmodified tovisitas its second parameter. IfVisitproc.visit(PyObject, Object)returns nonzero, this return value must be returned immediately by traverse.Visitproc.visit(PyObject, Object)must not be called with anullPyObject-argument.- Specified by:
traversein interfaceTraverseproc
-
refersDirectlyTo
Description copied from interface:TraverseprocOptional operation. Should only be implemented if it is more efficient than callingTraverseproc.traverse(Visitproc, Object)with a visitproc that just watches out forob. Must returnfalseifobisnull.- Specified by:
refersDirectlyToin interfaceTraverseproc
-