[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."