public class PyDictionary extends PyObject 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() |
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) |
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()
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)
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)
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)
key
- the key to lookup in the dictionary.public PyDictionary copy()
public void clear()
public void update(PyObject other)
d
into
this dictionary.public PyObject setdefault(PyObject key)
key
- the key to lookup in the dictionary.public PyObject setdefault(PyObject key, PyObject failobj)
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, PyObject defaultValue)
public PyObject popitem()
public PyList items()
public PyList keys()
public PyObject iteritems()
public PyObject iterkeys()
public PyObject itervalues()
public PyObject viewkeys()
public PyObject viewitems()
public PyObject viewvalues()
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 Set entrySet()
entrySet
in interface Map
Map.entrySet()
public Set keySet()
keySet
in interface Map
Map.keySet()
public Collection values()
values
in interface Map
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