public class PyDictionary extends AbstractDict implements ConcurrentMap, Traverseproc
PyObject.ConversionException
Modifier and Type | Field and Description |
---|---|
static PyType |
TYPE |
gcMonitorGlobal
Constructor and Description |
---|
PyDictionary()
Create 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 types
|
PyDictionary(PyType type,
ConcurrentMap<PyObject,PyObject> backingMap,
boolean useBackingMap) |
PyDictionary(PyType type,
int capacity)
Create a dictionary of type with the specified initial capacity.
|
PyDictionary(PyType type,
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(Object key) |
boolean |
containsValue(Object value) |
PyDictionary |
copy()
Return a shallow copy of the dictionary.
|
Set |
entrySet() |
boolean |
equals(Object obj)
Should almost never be overridden.
|
static PyObject |
fromkeys(PyObject keys) |
static PyObject |
fromkeys(PyObject keys,
PyObject value) |
Object |
get(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.
|
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.
|
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.
|
Object |
put(Object key,
Object value) |
void |
putAll(Map map) |
Object |
putIfAbsent(Object key,
Object value) |
Set<PyObject> |
pyKeySet() |
boolean |
refersDirectlyTo(PyObject ob)
Optional operation.
|
Object |
remove(Object key) |
boolean |
remove(Object key,
Object value) |
Object |
replace(Object key,
Object value) |
boolean |
replace(Object key,
Object oldValue,
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() |
String |
toString() |
int |
traverse(Visitproc visit,
Object arg)
Traverses all directly contained
PyObject s. |
void |
update(PyObject other)
Insert all the key:value pairs from
d into
this dictionary. |
void |
updateCommon(PyObject[] args,
String[] keywords,
String methName) |
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, setType
public static final PyType TYPE
public PyDictionary()
public PyDictionary(PyType type, int capacity)
public PyDictionary(PyType type)
public PyDictionary(Map<PyObject,PyObject> map)
public PyDictionary(ConcurrentMap<PyObject,PyObject> backingMap, boolean useBackingMap)
public PyDictionary(PyType type, ConcurrentMap<PyObject,PyObject> backingMap, boolean useBackingMap)
public PyDictionary(PyType type, 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 ConcurrentMap<PyObject,PyObject> getMap()
getMap
in class AbstractDict
public int __len__()
PyObject
public boolean __nonzero__()
PyObject
PyObject
is considered true.__nonzero__
in class PyObject
public PyObject __finditem__(int index)
PyObject
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.__finditem__
in class PyObject
index
- the key to lookup in this sequence.PyObject.__finditem__(PyObject)
public PyObject __finditem__(PyObject key)
PyObject
__finditem__
in class PyObject
key
- the key to lookup in this containerpublic void __setitem__(PyObject key, PyObject value)
PyObject
__setitem__
in class PyObject
key
- the key whose value will be setvalue
- the value to set this key topublic void __delitem__(PyObject key)
PyObject
__delitem__
in class PyObject
key
- the key to be removed from the containerpublic PyObject __iter__()
PyObject
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 somting with item }
public PyObject __eq__(PyObject otherObj)
PyObject
public PyObject __ne__(PyObject otherObj)
PyObject
public int __cmp__(PyObject otherObj)
PyObject
public boolean has_key(PyObject key)
has_key
in class AbstractDict
public boolean __contains__(PyObject o)
PyObject
__contains__
in class PyObject
o
- the element to search for in this container.public PyObject get(PyObject key, PyObject defaultObj)
get
in class AbstractDict
key
- 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 AbstractDict
key
- the key to lookup in the dictionary.public PyDictionary copy()
copy
in class AbstractDict
public void clear()
clear
in interface Map
clear
in class AbstractDict
public void update(PyObject other)
d
into
this dictionary.update
in class AbstractDict
public void merge(PyObject other, boolean override)
merge
in class AbstractDict
other
- 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 AbstractDict
other
- 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 AbstractDict
other
- another PyObjectoverride
- if true, the value from other is used on key-collisionpublic PyObject setdefault(PyObject key)
setdefault
in class AbstractDict
key
- the key to lookup in the dictionary.public PyObject setdefault(PyObject key, PyObject failobj)
setdefault
in class AbstractDict
key
- 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 AbstractDict
public PyObject pop(PyObject key, PyObject defaultValue)
pop
in class AbstractDict
public PyObject popitem()
popitem
in class AbstractDict
public PyList items()
items
in class AbstractDict
public PyList keys()
keys
in class AbstractDict
public PyObject iteritems()
iteritems
in class AbstractDict
public PyObject iterkeys()
iterkeys
in class AbstractDict
public PyObject itervalues()
itervalues
in class AbstractDict
public int hashCode()
public boolean equals(Object obj)
PyObject
a.equals(b) == true
iff cmp(a,b) == 0
public boolean isMappingType()
isMappingType
in class PyObject
public boolean isSequenceType()
isSequenceType
in class PyObject
public PyObject viewkeys()
viewkeys
in class AbstractDict
public PyObject viewitems()
viewitems
in class AbstractDict
public PyObject viewvalues()
viewvalues
in class AbstractDict
public Set<PyObject> pyKeySet()
pyKeySet
in class AbstractDict
public Set entrySet()
entrySet
in interface Map
entrySet
in class AbstractDict
Map.entrySet()
public Set keySet()
keySet
in interface Map
Map.keySet()
public Collection values()
values
in interface Map
values
in class AbstractDict
Map.values()
public void putAll(Map map)
putAll
in interface Map
Map.putAll(Map map)
public Object remove(Object key)
remove
in interface Map
Map.remove(Object key)
public Object put(Object key, Object value)
put
in interface Map
Map.put(Object key, Object value)
public Object get(Object key)
get
in interface Map
Map.get(Object key)
public boolean containsValue(Object value)
containsValue
in interface Map
Map.containsValue(Object key)
public boolean containsKey(Object key)
containsKey
in interface Map
Map.containsValue(Object key)
public boolean isEmpty()
isEmpty
in interface Map
Map.isEmpty()
public int size()
size
in interface Map
Map.size()
public Object putIfAbsent(Object key, Object value)
putIfAbsent
in interface ConcurrentMap
public boolean remove(Object key, Object value)
remove
in interface ConcurrentMap
public boolean replace(Object key, Object oldValue, Object newValue)
replace
in interface ConcurrentMap
public Object replace(Object key, Object value)
replace
in interface ConcurrentMap
public int traverse(Visitproc visit, Object arg)
Traverseproc
PyObject
s.
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 Traverseproc
public boolean refersDirectlyTo(PyObject ob)
Traverseproc
Traverseproc.traverse(Visitproc, Object)
with
a visitproc that just watches out for ob
.
Must return false
if ob
is null
.refersDirectlyTo
in interface Traverseproc