org.python.core

Class PyStringMap

Implemented Interfaces:
java.io.Serializable

public class PyStringMap
extends PyObject

A faster Dictionary where the keys have to be strings.

This is the default for all __dict__ instances.

See Also:
Serialized Form

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

exposed_name

Constructor Summary

PyStringMap()
The standard constructor for a PyObject.
PyStringMap(elements[] )
PyStringMap(int capacity)

Method Summary

int
__cmp__(PyObject other)
Equivalent to the standard Python __cmp__ 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.
PyObject
__finditem__(String key)
A variant of the __finditem__ method which accepts a Java String 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.
boolean
__nonzero__()
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.
PyStringMap
copy()
Return a shallow copy of the dictionary.
PyObject
get(PyObject key)
Return this[key] if the key exists in the mapping, None is returned otherwise.
PyObject
get(PyObject key, PyObject default_object)
Return this[key] if the key exists in the mapping, default_object is returned otherwise.
boolean
has_key(PyObject key)
Return true if the key exist in the dictionary.
PyList
items()
Return a copy of the mappings list of (key, value) tuple pairs.
PyObject
iteritems()
return an iterator over (key, value) pairs
PyObject
iterkeys()
return an iterator over the keys
PyObject
itervalues()
return an iterator over the values
PyList
keys()
Return a copy of the mappings list of keys.
PyObject
popitem()
Return a random (key, value) tuple pair and remove the pair from the mapping.
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
String
toString()
void
update(PyDictionary dict)
Insert all the key:value pairs from dict into this mapping.
void
update(PyStringMap map)
Insert all the key:value pairs from map into this mapping.
PyList
values()
Return a copy of the mappings list of values.

Methods inherited from class org.python.core.PyObject

__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __eq__, __findattr__, __findattr__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __iter__, __iternext__, __itruediv__, __ixor__, __le__, __len__, __long__, __lshift__, __lt__, __mod__, __mul__, __ne__, __neg__, __nonzero__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __tojava__, __truediv__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _in, _is, _isnot, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asInt, asLong, asName, asString, asStringOrNull, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getDoc, getType, hashCode, implementsDescrDelete, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isMappingType, isNumberType, isSequenceType, noAttributeError, readonlyAttributeError, safeRepr, setDict, setType, toString, typeSetup

Constructor Details

PyStringMap

public PyStringMap()
The standard constructor for a PyObject. It will set the __class__ field to correspond to the specific subclass of PyObject being instantiated.

PyStringMap

public PyStringMap(elements[] )

PyStringMap

public PyStringMap(int capacity)

Method Details

__cmp__

public int __cmp__(PyObject other)
Equivalent to the standard Python __cmp__ method.
Overrides:
__cmp__ in interface PyObject
Parameters:
other - the object to compare this with.
Returns:
-1 if this <320; 0 if this == o; +1 if this > o; -2 if no comparison is implemented

__delitem__

public void __delitem__(String key)
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 interface PyObject
Parameters:
key - the key who will be removed - must be an interned string .

__delitem__

public void __delitem__(PyObject key)
Equivalent to the standard Python __delitem__ method.
Overrides:
__delitem__ in interface PyObject
Parameters:
key - the key to be removed from the container

__finditem__

public PyObject __finditem__(String key)
A variant of the __finditem__ method which accepts a Java String 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 interface PyObject
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.

__finditem__

public PyObject __finditem__(PyObject key)
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 interface PyObject
Parameters:
key - the key to lookup in this container
Returns:
the value corresponding to key or null if key is not found

__iter__

public PyObject __iter__()
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:
    PyObject iter = seq.__iter__();
    for (PyObject item; (item = iter.__next__()) != null;  {
        // Do somting with item
    }
 
Overrides:
__iter__ in interface PyObject
Since:
2.2

__len__

public int __len__()
Equivalent to the standard Python __len__ method. Part of the mapping discipline.
Overrides:
__len__ in interface PyObject
Returns:
the length of the object

__nonzero__

public boolean __nonzero__()
Equivalent to the standard Python __nonzero__ method. Returns whether of not a given PyObject is considered true.
Overrides:
__nonzero__ in interface PyObject

__setitem__

public void __setitem__(String key,
                        PyObject value)
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 interface PyObject
Parameters:
key - the key whose value will be set - must be an interned string .
value - the value to set this key to

__setitem__

public void __setitem__(PyObject key,
                        PyObject value)
Equivalent to the standard Python __setitem__ method.
Overrides:
__setitem__ in interface PyObject
Parameters:
key - the key whose value will be set
value - the value to set this key to

clear

public void clear()
Remove all items from the dictionary.

copy

public PyStringMap copy()
Return a shallow copy of the dictionary.

get

public PyObject get(PyObject key)
Return this[key] if the key exists in the mapping, None is returned otherwise.
Parameters:
key - the key to lookup in the mapping.

get

public PyObject get(PyObject key,
                    PyObject default_object)
Return this[key] if the key exists in the mapping, default_object is returned otherwise.
Parameters:
key - the key to lookup in the mapping.
default_object - the value to return if the key does not exists in the mapping.

has_key

public boolean has_key(PyObject key)
Return true if the key exist in the dictionary.

items

public PyList items()
Return a copy of the mappings list of (key, value) tuple pairs.

iteritems

public PyObject iteritems()
return an iterator over (key, value) pairs

iterkeys

public PyObject iterkeys()
return an iterator over the keys

itervalues

public PyObject itervalues()
return an iterator over the values

keys

public PyList keys()
Return a copy of the mappings list of keys.

popitem

public PyObject popitem()
Return a random (key, value) tuple pair and remove the pair from the mapping.

setdefault

public PyObject setdefault(PyObject key)
Return this[key] if the key exist, otherwise insert key with a None value and return None.
Parameters:
key - the key to lookup in the mapping.

setdefault

public PyObject setdefault(PyObject key,
                           PyObject failobj)
Return this[key] if the key exist, otherwise insert key with the value of failobj and return failobj
Parameters:
key - the key to lookup in the mapping.
failobj - the default value to insert in the mapping if key does not already exist.

toString

public String toString()
Overrides:
toString in interface PyObject

update

public void update(PyDictionary dict)
Insert all the key:value pairs from dict into this mapping.

update

public void update(PyStringMap map)
Insert all the key:value pairs from map into this mapping.

values

public PyList values()
Return a copy of the mappings list of values.

Jython homepage