[Zope-Checkins] CVS: Zope2 - Mapping.py:1.3
Jim Fulton
jim@digicool.com
Sun, 20 May 2001 12:32:39 -0400 (EDT)
Update of /cvs-repository/Zope2/lib/python/Interface
In directory korak.digicool.com:/tmp/cvs-serv32257
Modified Files:
Mapping.py
Log Message:
Began refining mapping interfaces to make them more useful for
intrspection.
--- Updated File Mapping.py in package Zope2 --
--- Mapping.py 1998/12/01 17:59:54 1.2
+++ Mapping.py 2001/05/20 16:32:38 1.3
@@ -4,11 +4,71 @@
class Mapping(Basic.Base):
"anything supporting __getitem__"
+ def __getitem__(key):
+ """Get the value for the given key
+
+ Raise a key error if the key if not in the collection.
+ """
+
+class QueryMapping(Mapping):
+
+ def has_key(key):
+ """Check whether the object has an item with the given key"""
+
+
+ def get(key, default):
+ """Get the value for the given key
+
+ Return the default if the key is not in the collection.
+ """
+
class Sized(Basic.Base):
"anything supporting __len"
+ def __len__():
+ """Return the number of items in the container"""
+
class MutableMapping(Basic.Mutable):
"Has __setitem__ and __delitem__"
+
+ def __setitem__(key, value):
+ """Set the value for the given key"""
+
+ def __delitem__(key):
+ """delete the value for the given key
+
+ Raise a key error if the key if not in the collection."""
+
+class EnumerableMapping(Mapping):
+
+ def keys():
+ """Return an Sequence containing the keys in the collection
+
+ The type of the IReadSequence is not specified. It could be a
+ list or a tuple or some other type.
+ """
+
+class MinimalDictionary(QueryMapping, Sized, MutableMapping,
+ EnumerableMapping):
+ """Provide minimal dictionary-like behavior
+ """
+
+ def values():
+ """Return a IReadSequence containing the values in the collection
+
+ The type of the IReadSequence is not specified. It could be a
+ list or a tuple or some other type.
+ """
+
+ def items():
+ """Return a IReadSequence containing the items in the collection
+
+ An item is a key-value tuple.
+
+ The type of the IReadSequence is not specified. It could be a
+ list or a tuple or some other type.
+ """
+
class Sequence(Mapping):
"Keys must be integers in a sequence starting at 0."