public class PyDictionary extends AbstractDict implements java.util.concurrent.ConcurrentMap, Traverseproc
PyObject.ConversionException| Modifier and Type | Field and Description |
|---|---|
static PyType |
TYPE |
gcMonitorGlobal| Constructor and Description |
|---|
PyDictionary()
Create an empty dictionary.
|
PyDictionary(java.util.concurrent.ConcurrentMap<PyObject,PyObject> backingMap,
boolean useBackingMap) |
PyDictionary(java.util.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 types
|
PyDictionary(PyType type,
java.util.concurrent.ConcurrentMap<PyObject,PyObject> backingMap,
boolean useBackingMap) |
PyDictionary(PyType type,
int capacity)
Create a dictionary of type with the specified initial capacity.
|
PyDictionary(PyType type,
java.util.Map<PyObject,PyObject> map)
Create a new dictionary which is populated with entries the given map.
|
| Modifier and Type | Method and Description |
|---|---|
int |
__cmp__(PyObject otherObj)
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 otherObj)
Equivalent to the standard Python __eq__ method.
|
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.
|
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 otherObj)
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.
|
void |
clear()
Remove all items from the dictionary.
|
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
PyDictionary |
copy()
Return a shallow copy of the dictionary.
|
java.util.Set |
entrySet() |
boolean |
equals(java.lang.Object obj)
Should almost never be overridden.
|
static PyObject |
fromkeys(PyObject keys) |
static PyObject |
fromkeys(PyObject keys,
PyObject value) |
java.lang.Object |
get(java.lang.Object key) |
PyObject |
get(PyObject key)
Return this[key] if the key exists in the mapping, None
is returned otherwise.
|
PyObject |
get(PyObject key,
PyObject defaultObj)
Return this[key] if the key exists in the mapping, defaultObj is returned
otherwise.
|
java.util.concurrent.ConcurrentMap<PyObject,PyObject> |
getMap() |
boolean |
has_key(PyObject key)
Return true if the key exist in the dictionary.
|
int |
hashCode() |
boolean |
isEmpty() |
boolean |
isMappingType() |
boolean |
isSequenceType() |
PyList |
items()
Return a copy of the dictionary's list of (key, value) tuple
pairs.
|
PyObject |
iteritems()
Returns an iterator over (key, value) pairs.
|
PyObject |
iterkeys()
Returns an iterator over the dictionary's keys.
|
PyObject |
itervalues()
Returns an iterator over the dictionary's values.
|
PyList |
keys()
Return a copy of the dictionary's list of keys.
|
java.util.Set |
keySet() |
void |
merge(PyObject other,
boolean override)
Merge another PyObject that supports keys() with this
dict.
|
void |
mergeFromKeys(PyObject other,
PyObject keys,
boolean override)
Merge another PyObject via its keys() method
|
void |
mergeFromSeq(PyObject other,
boolean override)
Merge any iterable object producing iterable objects of length
2 into this dict.
|
PyObject |
pop(PyObject key)
Return a value based on key
from the dictionary.
|
PyObject |
pop(PyObject key,
PyObject defaultValue)
Return a value based on key
from the dictionary or default if that key is not found.
|
PyObject |
popitem()
Return a random (key, value) tuple pair and remove the pair
from the dictionary.
|
java.lang.Object |
put(java.lang.Object key,
java.lang.Object value) |
void |
putAll(java.util.Map map) |
java.lang.Object |
putIfAbsent(java.lang.Object key,
java.lang.Object value) |
java.util.Set<PyObject> |
pyKeySet() |
boolean |
refersDirectlyTo(PyObject ob)
Optional operation.
|
java.lang.Object |
remove(java.lang.Object key) |
boolean |
remove(java.lang.Object key,
java.lang.Object value) |
java.lang.Object |
replace(java.lang.Object key,
java.lang.Object value) |
boolean |
replace(java.lang.Object key,
java.lang.Object oldValue,
java.lang.Object newValue) |
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
|
int |
size() |
java.lang.String |
toString() |
int |
traverse(Visitproc visit,
java.lang.Object arg)
Traverses all directly contained
PyObjects. |
void |
update(PyObject other)
Insert all the key:value pairs from
d into
this dictionary. |
void |
updateCommon(PyObject[] args,
java.lang.String[] keywords,
java.lang.String methName) |
java.util.Collection |
values() |
PyObject |
viewitems()
Returns a dict_items on the dictionary's items
|
PyObject |
viewkeys()
Returns a dict_keys on the dictionary's keys
|
PyObject |
viewvalues()
Returns a dict_values on the dictionary's values
|
__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, setTypepublic static final PyType TYPE
public PyDictionary()
public PyDictionary(PyType type, int capacity)
public PyDictionary(PyType type)
public PyDictionary(java.util.Map<PyObject,PyObject> map)
public PyDictionary(java.util.concurrent.ConcurrentMap<PyObject,PyObject> backingMap, boolean useBackingMap)
public PyDictionary(PyType type, java.util.concurrent.ConcurrentMap<PyObject,PyObject> backingMap, boolean useBackingMap)
public PyDictionary(PyType type, java.util.Map<PyObject,PyObject> map)
public PyDictionary(PyObject[] elements)
elements - The initial elements that is inserted in the dictionary. Even numbered elements
are keys, odd numbered elements are values.public java.util.concurrent.ConcurrentMap<PyObject,PyObject> getMap()
getMap in class AbstractDictpublic int __len__()
PyObjectpublic boolean __nonzero__()
PyObjectPyObject is considered true.__nonzero__ in class PyObjectpublic PyObject __finditem__(int index)
PyObjectint 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.__finditem__ in class PyObjectindex - the key to lookup in this sequence.PyObject.__finditem__(PyObject)public PyObject __finditem__(PyObject key)
PyObject__finditem__ in class PyObjectkey - the key to lookup in this containerpublic void __setitem__(PyObject key, PyObject value)
PyObject__setitem__ in class PyObjectkey - the key whose value will be setvalue - the value to set this key topublic void __delitem__(PyObject key)
PyObject__delitem__ in class PyObjectkey - the key to be removed from the containerpublic PyObject __iter__()
PyObjectIf 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
}
public PyObject __eq__(PyObject otherObj)
PyObjectpublic PyObject __ne__(PyObject otherObj)
PyObjectpublic int __cmp__(PyObject otherObj)
PyObjectpublic boolean has_key(PyObject key)
has_key in class AbstractDictpublic boolean __contains__(PyObject o)
PyObject__contains__ in class PyObjecto - the element to search for in this container.public PyObject get(PyObject key, PyObject defaultObj)
get in class AbstractDictkey - the key to lookup in the dictionary.defaultObj - the value to return if the key does not exists in the mapping.public PyObject get(PyObject key)
get in class AbstractDictkey - the key to lookup in the dictionary.public PyDictionary copy()
copy in class AbstractDictpublic void clear()
clear in interface java.util.Mapclear in class AbstractDictpublic void update(PyObject other)
d into
this dictionary.update in class AbstractDictpublic void updateCommon(PyObject[] args, java.lang.String[] keywords, java.lang.String methName)
public void merge(PyObject other, boolean override)
merge in class AbstractDictother - a PyObject with a keys() methodoverride - if true, the value from other is used on key-collisionpublic void mergeFromKeys(PyObject other, PyObject keys, boolean override)
mergeFromKeys in class AbstractDictother - a PyObject with a keys() methodkeys - the result of other's keys() methodoverride - if true, the value from other is used on key-collisionpublic void mergeFromSeq(PyObject other, boolean override)
mergeFromSeq in class AbstractDictother - another PyObjectoverride - if true, the value from other is used on key-collisionpublic PyObject setdefault(PyObject key)
setdefault in class AbstractDictkey - the key to lookup in the dictionary.public PyObject setdefault(PyObject key, PyObject failobj)
setdefault in class AbstractDictkey - the key to lookup in the dictionary.failobj - the default value to insert in the dictionary
if key does not already exist.public PyObject pop(PyObject key)
pop in class AbstractDictpublic PyObject pop(PyObject key, PyObject defaultValue)
pop in class AbstractDictpublic PyObject popitem()
popitem in class AbstractDictpublic PyList items()
items in class AbstractDictpublic PyList keys()
keys in class AbstractDictpublic PyObject iteritems()
iteritems in class AbstractDictpublic PyObject iterkeys()
iterkeys in class AbstractDictpublic PyObject itervalues()
itervalues in class AbstractDictpublic int hashCode()
public boolean equals(java.lang.Object obj)
PyObjecta.equals(b) == true iff cmp(a,b) == 0public boolean isMappingType()
isMappingType in class PyObjectpublic boolean isSequenceType()
isSequenceType in class PyObjectpublic PyObject viewkeys()
viewkeys in class AbstractDictpublic PyObject viewitems()
viewitems in class AbstractDictpublic PyObject viewvalues()
viewvalues in class AbstractDictpublic java.util.Set<PyObject> pyKeySet()
pyKeySet in class AbstractDictpublic java.util.Set entrySet()
entrySet in interface java.util.MapentrySet in class AbstractDictMap.entrySet()public java.util.Set keySet()
keySet in interface java.util.MapMap.keySet()public java.util.Collection values()
values in interface java.util.Mapvalues in class AbstractDictMap.values()public void putAll(java.util.Map map)
putAll in interface java.util.MapMap.putAll(Map map)public java.lang.Object remove(java.lang.Object key)
remove in interface java.util.MapMap.remove(Object key)public java.lang.Object put(java.lang.Object key,
java.lang.Object value)
put in interface java.util.MapMap.put(Object key, Object value)public java.lang.Object get(java.lang.Object key)
get in interface java.util.MapMap.get(Object key)public boolean containsValue(java.lang.Object value)
containsValue in interface java.util.MapMap.containsValue(Object key)public boolean containsKey(java.lang.Object key)
containsKey in interface java.util.MapMap.containsValue(Object key)public boolean isEmpty()
isEmpty in interface java.util.MapMap.isEmpty()public int size()
size in interface java.util.MapMap.size()public java.lang.Object putIfAbsent(java.lang.Object key,
java.lang.Object value)
putIfAbsent in interface java.util.concurrent.ConcurrentMapputIfAbsent in interface java.util.Mappublic boolean remove(java.lang.Object key,
java.lang.Object value)
remove in interface java.util.concurrent.ConcurrentMapremove in interface java.util.Mappublic boolean replace(java.lang.Object key,
java.lang.Object oldValue,
java.lang.Object newValue)
replace in interface java.util.concurrent.ConcurrentMapreplace in interface java.util.Mappublic java.lang.Object replace(java.lang.Object key,
java.lang.Object value)
replace in interface java.util.concurrent.ConcurrentMapreplace in interface java.util.Mappublic int traverse(Visitproc visit, java.lang.Object arg)
TraverseprocPyObjects.
Like in CPython, arg must be passed
unmodified to visit as its second parameter.
If Visitproc.visit(PyObject, Object) returns
nonzero, this return value
must be returned immediately by traverse.
Visitproc.visit(PyObject, Object) must not be
called with a null PyObject-argument.traverse in interface Traverseprocpublic boolean refersDirectlyTo(PyObject ob)
TraverseprocTraverseproc.traverse(Visitproc, Object) with
a visitproc that just watches out for ob.
Must return false if ob is null.refersDirectlyTo in interface Traverseproc