Package org.python.modules._collections
Class PyDefaultDict
- java.lang.Object
-
- org.python.core.PyObject
-
- org.python.core.AbstractDict
-
- org.python.core.PyDictionary
-
- org.python.modules._collections.PyDefaultDict
-
- All Implemented Interfaces:
java.io.Serializable
,java.util.concurrent.ConcurrentMap
,java.util.Map
,Traverseproc
- Direct Known Subclasses:
PyDefaultDictDerived
public class PyDefaultDict extends PyDictionary implements Traverseproc
PyDefaultDict - This is a subclass of the builtin dict(PyDictionary) class. It supports one additional method __missing__ and adds one writable instance variable defaultFactory. The remaining functionality is the same as for the dict class. collections.defaultdict([defaultFactory[, ...]]) - returns a new dictionary-like object. The first argument provides the initial value for the defaultFactory attribute; it defaults to None. All remaining arguments are treated the same as if they were passed to the dict constructor, including keyword arguments.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException
-
-
Field Summary
Fields Modifier and Type Field Description static PyType
TYPE
-
Fields inherited from class org.python.core.PyObject
gcMonitorGlobal
-
-
Constructor Summary
Constructors Constructor Description PyDefaultDict()
PyDefaultDict(PyType subtype)
PyDefaultDict(PyType subtype, java.util.Map<PyObject,PyObject> map)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PyObject
__finditem__(PyObject key)
Very similar to the standard Python __getitem__ method.PyObject
__missing__(PyObject key)
PyObject
__reduce__()
Used for pickling.PyDictionary
copy()
Return a shallow copy of the dictionary.void
delDefaultFactory()
PyObject
get(PyObject key, PyObject defaultObj)
Return this[key] if the key exists in the mapping, defaultObj is returned otherwise.PyObject
getDefaultFactory()
java.util.concurrent.ConcurrentMap<PyObject,PyObject>
getMap()
boolean
refersDirectlyTo(PyObject ob)
Optional operation.void
setDefaultFactory(PyObject value)
java.lang.String
toString()
int
traverse(Visitproc visit, java.lang.Object arg)
Traverses all directly containedPyObject
s.-
Methods inherited from class org.python.core.PyDictionary
__cmp__, __contains__, __delitem__, __eq__, __finditem__, __iter__, __len__, __ne__, __nonzero__, __setitem__, clear, containsKey, containsValue, entrySet, equals, fromkeys, fromkeys, get, get, has_key, hashCode, isEmpty, isMappingType, isSequenceType, items, iteritems, iterkeys, itervalues, keys, keySet, merge, mergeFromKeys, mergeFromSeq, pop, pop, popitem, put, putAll, putIfAbsent, pyKeySet, remove, remove, replace, replace, setdefault, setdefault, size, update, updateCommon, values, viewitems, viewkeys, viewvalues
-
Methods 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_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
-
-
-
-
Field Detail
-
TYPE
public static final PyType TYPE
-
-
Method Detail
-
getMap
public java.util.concurrent.ConcurrentMap<PyObject,PyObject> getMap()
- Overrides:
getMap
in classPyDictionary
-
__reduce__
public PyObject __reduce__()
Description copied from class:PyObject
Used for pickling. Default implementation calls object___reduce__.- Overrides:
__reduce__
in classPyObject
- Returns:
- a tuple of (class, tuple)
-
copy
public PyDictionary copy()
Description copied from class:PyDictionary
Return a shallow copy of the dictionary.- Overrides:
copy
in classPyDictionary
-
toString
public java.lang.String toString()
- Overrides:
toString
in classPyDictionary
-
getDefaultFactory
public PyObject getDefaultFactory()
-
setDefaultFactory
public void setDefaultFactory(PyObject value)
-
delDefaultFactory
public void delDefaultFactory()
-
__finditem__
public PyObject __finditem__(PyObject key)
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 classPyDictionary
- Parameters:
key
- the key to lookup in this container- Returns:
- the value corresponding to key or null if key is not found
-
get
public PyObject get(PyObject key, PyObject defaultObj)
Description copied from class:PyDictionary
Return this[key] if the key exists in the mapping, defaultObj is returned otherwise.- Overrides:
get
in classPyDictionary
- Parameters:
key
- the key to lookup in the dictionary.defaultObj
- the value to return if the key does not exists in the mapping.
-
traverse
public int traverse(Visitproc visit, java.lang.Object arg)
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
- Overrides:
traverse
in classPyDictionary
-
refersDirectlyTo
public boolean refersDirectlyTo(PyObject ob)
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
- Overrides:
refersDirectlyTo
in classPyDictionary
-
-