Package org.python.core
Class PyStringMap
java.lang.Object
org.python.core.PyObject
org.python.core.AbstractDict
org.python.core.PyStringMap
- All Implemented Interfaces:
Serializable
,Traverseproc
Special fast dict implementation for __dict__ instances. Allows interned String keys in addition
to PyObject unlike PyDictionary.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException
-
Field Summary
Fields inherited from class org.python.core.PyObject
gcMonitorGlobal, TYPE
-
Constructor Summary
ConstructorDescriptionPyStringMap
(int capacity) PyStringMap
(Map<Object, PyObject> map) PyStringMap
(PyObject[] elements) -
Method Summary
Modifier and TypeMethodDescriptionint
Equivalent to the standard Python __cmp__ method.boolean
Equivalent to the standard Python __contains__ method.void
__delitem__
(String key) A variant of the __delitem__ method which accepts a String as the key.void
__delitem__
(PyObject key) Equivalent to the standard Python __delitem__ method.__finditem__
(String key) A variant of the __finditem__ method which accepts a JavaString
as the key.__finditem__
(PyObject key) Very similar to the standard Python __getitem__ method.__getitem__
(String key) __getitem__
(PyObject key) Equivalent 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.boolean
Equivalent to the standard Python __nonzero__ method.void
__setitem__
(String key, PyObject value) A variant of the __setitem__ method which accepts a String as the key.void
__setitem__
(PyObject key, PyObject value) Equivalent to the standard Python __setitem__ method.void
clear()
Remove all items from the dictionary.copy()
Return a shallow copy of the dictionary.entrySet()
static PyObject
static PyObject
Return 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()
boolean
Return true if the key exist in the dictionary.boolean
int
hashCode()
boolean
boolean
items()
Return a copy of the mappings list of (key, value) tuple pairs.return an iterator over (key, value) pairsiterkeys()
return an iterator over the keysreturn an iterator over the valueskeys()
Return a copy of the mappings list of keys.void
Merge another PyObject that supports keys() with this dict.void
mergeFromKeys
(PyObject other, PyObject keys, boolean override) Merge another PyObject via its keys() methodvoid
mergeFromSeq
(PyObject other, boolean override) Merge any iterable object producing iterable objects of length 2 into this dict.popitem()
Return a random (key, value) tuple pair and remove the pair from the mapping.pyKeySet()
boolean
Optional operation.setdefault
(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 failobjtoString()
int
Traverses all directly containedPyObject
s.void
values()
Return a copy of the mappings list of 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__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __ensure_finalizer__, __eq__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __float__, __floordiv__, __format__, __ge__, __get__, __getattr__, __getattr__, __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__, __ne__, __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__, __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__, equals, fastGetClass, fastGetDict, getDict, getType, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, isNumberType, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict, setType
-
Constructor Details
-
PyStringMap
public PyStringMap() -
PyStringMap
public PyStringMap(int capacity) -
PyStringMap
-
PyStringMap
-
-
Method Details
-
getMap
- Specified by:
getMap
in classAbstractDict
-
fromkeys
-
fromkeys
-
__len__
public int __len__()Description copied from class:PyObject
Equivalent to the standard Python __len__ method. Part of the mapping discipline. -
__nonzero__
public boolean __nonzero__()Description copied from class:PyObject
Equivalent to the standard Python __nonzero__ method. Returns whether of not a givenPyObject
is considered true.- Overrides:
__nonzero__
in classPyObject
-
__finditem__
Description copied from class:PyObject
A variant of the __finditem__ method which accepts a JavaString
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. Warning: key must be an interned string!!!!!!!!- Overrides:
__finditem__
in classPyObject
- Parameters:
key
- the key to lookup in this sequence - must be an interned string .- Returns:
- the value corresponding to key or null if key is not found.
- See Also:
-
__finditem__
Description copied from class:PyObject
Very 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
-
__getitem__
-
__getitem__
Description copied from class:PyObject
Equivalent to the standard Python __getitem__ method. This method should not be overridden. Override the__finditem__
method instead.- Overrides:
__getitem__
in classPyObject
- Parameters:
key
- the key to lookup in this container.- Returns:
- the value corresponding to that key.
- See Also:
-
__iter__
Description copied from class:PyObject
Return 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 }
-
__setitem__
Description copied from class:PyObject
A variant of the __setitem__ method which accepts a String as the key. This String must be interned. By default, this will call__setitem__(PyObject key, PyObject value)
with the appropriate args. The only reason to override this method is for performance.- Overrides:
__setitem__
in classPyObject
- Parameters:
key
- the key whose value will be set - must be an interned string .value
- the value to set this key to- See Also:
-
__setitem__
Description copied from class:PyObject
Equivalent 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:PyObject
A variant of the __delitem__ method which accepts a String as the key. This String must be interned. By default, this will call__delitem__(PyObject key)
with the appropriate args. The only reason to override this method is for performance.- Overrides:
__delitem__
in classPyObject
- Parameters:
key
- the key who will be removed - must be an interned string .- See Also:
-
__delitem__
Description copied from class:PyObject
Equivalent to the standard Python __delitem__ method.- Overrides:
__delitem__
in classPyObject
- Parameters:
key
- the key to be removed from the container
-
clear
public void clear()Remove all items from the dictionary.- Specified by:
clear
in classAbstractDict
-
toString
-
__cmp__
Description copied from class:PyObject
Equivalent to the standard Python __cmp__ method. -
has_key
Return true if the key exist in the dictionary. -
has_key
- Specified by:
has_key
in classAbstractDict
-
__contains__
Description copied from class:PyObject
Equivalent 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:
get
in classAbstractDict
- Parameters:
key
- the key to lookup in the mapping.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:
get
in classAbstractDict
- Parameters:
key
- the key to lookup in the mapping.
-
copy
Return a shallow copy of the dictionary.- Specified by:
copy
in classAbstractDict
-
update
- Specified by:
update
in classAbstractDict
-
merge
Merge another PyObject that supports keys() with this dict.- Specified by:
merge
in 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:
mergeFromKeys
in 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:
mergeFromSeq
in 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:
setdefault
in classAbstractDict
- Parameters:
key
- the key to lookup in the mapping.
-
setdefault
Return this[key] if the key exist, otherwise insert key with the value of failobj and return failobj- Specified by:
setdefault
in classAbstractDict
- Parameters:
key
- the key to lookup in the mapping.failobj
- the default value to insert in the mapping if key does not already exist.
-
popitem
Return a random (key, value) tuple pair and remove the pair from the mapping.- Specified by:
popitem
in classAbstractDict
-
pop
- Specified by:
pop
in classAbstractDict
-
pop
- Specified by:
pop
in classAbstractDict
-
items
Return a copy of the mappings list of (key, value) tuple pairs.- Specified by:
items
in classAbstractDict
-
keys
Return a copy of the mappings list of keys. We have to take in account that we could be storing String or PyObject objects- Specified by:
keys
in classAbstractDict
-
values
Return a copy of the mappings list of values.- Specified by:
values
in classAbstractDict
-
iteritems
return an iterator over (key, value) pairs- Specified by:
iteritems
in classAbstractDict
-
iterkeys
return an iterator over the keys- Specified by:
iterkeys
in classAbstractDict
-
itervalues
return an iterator over the values- Specified by:
itervalues
in classAbstractDict
-
hashCode
public int hashCode() -
isMappingType
public boolean isMappingType()- Overrides:
isMappingType
in classPyObject
-
isSequenceType
public boolean isSequenceType()- Overrides:
isSequenceType
in classPyObject
-
pyKeySet
- Specified by:
pyKeySet
in classAbstractDict
-
entrySet
- Specified by:
entrySet
in classAbstractDict
- See Also:
-
viewkeys
Returns a dict_keys on the dictionary's keys- Overrides:
viewkeys
in classAbstractDict
-
viewitems
Returns a dict_items on the dictionary's items- Overrides:
viewitems
in classAbstractDict
-
viewvalues
Returns a dict_values on the dictionary's values- Overrides:
viewvalues
in classAbstractDict
-
traverse
Description copied from interface:Traverseproc
Traverses all directly containedPyObject
s. Like in CPython,arg
must be passed unmodified tovisit
as 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 anull
PyObject-argument.- Specified by:
traverse
in interfaceTraverseproc
-
refersDirectlyTo
Description copied from interface:Traverseproc
Optional operation. Should only be implemented if it is more efficient than callingTraverseproc.traverse(Visitproc, Object)
with a visitproc that just watches out forob
. Must returnfalse
ifob
isnull
.- Specified by:
refersDirectlyTo
in interfaceTraverseproc
-