[Zope-Checkins] CVS: Zope3/lib/python/Zope/ComponentArchitecture - IAdapterService.py:1.1.2.3 IFactoryService.py:1.1.2.3 IUtilityService.py:1.1.2.3 hooks.py:1.1.2.15

Steve Alexander steve@cat-box.net
Wed, 27 Feb 2002 11:18:54 -0500


Update of /cvs-repository/Zope3/lib/python/Zope/ComponentArchitecture
In directory cvs.zope.org:/tmp/cvs-serv20012

Modified Files:
      Tag: Zope-3x-branch
	IAdapterService.py IFactoryService.py IUtilityService.py 
	hooks.py 
Log Message:
Added an optional "place" argument to getAdapter, if you don't want place to be the same as object. Changed object to place where place is more appropriate and descriptive in getUtility, getAdapter and createObject



=== Zope3/lib/python/Zope/ComponentArchitecture/IAdapterService.py 1.1.2.2 => 1.1.2.3 ===
         """
 
-    def getAdapter(object, interface, default=None):
+    def getAdapter(object, interface, default=None, place=None):
         """Look up an adapter that provides an interface for an object
 
-        The object also provides a place to look for placeful adapters.
+        The place argument provides a place to look for placeful adapters.
+        
+        If no place argument is given, place defaults to object.
 
         A Zope.ComponentArchitecture.ComponentLookupError will be
         raised if the component can't be found.


=== Zope3/lib/python/Zope/ComponentArchitecture/IFactoryService.py 1.1.2.2 => 1.1.2.3 ===
         """
 
-    def createObject(object, name):
+    def createObject(place, name):
         """Create a new object using the factory with the given name
 
-        The object provides a place to look for placeful views.
+        The place provides a place to look for placeful views.
 
         A Zope.ComponentArchitecture.ComponentLookupError will be
         raised if the factory component can't be found.


=== Zope3/lib/python/Zope/ComponentArchitecture/IUtilityService.py 1.1.2.2 => 1.1.2.3 ===
         """
 
-    def getUtility(object, interface, default=None):
+    def getUtility(place, interface, default=None):
         """Look up a utility that provides an interface
 
-        The object provides a place to look for placeful adapters.
+        The place argument provides a place to look for placeful adapters.
 
         A Zope.ComponentArchitecture.ComponentLookupError will be
         raised if the component can't be found.


=== Zope3/lib/python/Zope/ComponentArchitecture/hooks.py 1.1.2.14 => 1.1.2.15 ===
     return provideAdapter_hook(forInterface, providedInterface, maker)
 
-def getAdapter(object, interface, default=_marker):
-    r=getAdapter_hook(object, interface, default)
+def getAdapter(object, interface, default=_marker, place=None):
+    r=getAdapter_hook(object, interface, default, place)
     if r is _marker: raise ComponentLookupError(object, interface)
     return r
         
 def provideUtility(providedInterface, component):
     return provideUtility_hook(providedInterface, component)
 
-def getUtility(object, interface, default=_marker):
-    r = getUtility_hook(object, interface, default)
-    if r is _marker: raise ComponentLookupError(object, interface)
+def getUtility(place, interface, default=_marker):
+    r = getUtility_hook(place, interface, default)
+    if r is _marker: raise ComponentLookupError(place, interface)
     return r
 
 def provideFactory(qname, factory):
     return provideFactory_hook(qname, factory)
 
-def createObject(object, name):
-    return createObject_hook(object, name)
+def createObject(place, name):
+    return createObject_hook(place, name)
 
 # default hooks
 
@@ -40,7 +40,18 @@
 def provideAdapter_hook(forInterface, providedInterface, maker):
     _adapters.register(forInterface, providedInterface, maker)
 
-def getAdapter_hook(object, interface, default=None):
+def getAdapter_hook(object, interface, default=None, place=None):
+
+    # XXX: place is ignored at present, as we don't yet
+    #      have placeful adapters
+    #
+    #      However, when we do get placeful adapters, if no
+    #      place is given, it defaults to object, as below:
+    
+    if place is None:
+        place = object
+        
+    
     if interface.isImplementedBy(object): return object
     makers = _adapters.getForObject(object, interface)
     if makers is None: return default
@@ -52,7 +63,11 @@
 def provideUtility_hook(providedInterface, component):
     _utilities.register(providedInterface, component)
 
-def getUtility_hook(object, interface, default=None):
+def getUtility_hook(place, interface, default=None):
+
+    # XXX: place is ignored at present, as we don't yet
+    #      have placeful utilities
+    
     c=_utilities.get(None, interface)
     if c is None: return default
     return c
@@ -65,7 +80,11 @@
     _verify(_IFactory, factory.__class__)
     _factories[qname] = factory
 
-def createObject_hook(object, name):
+def createObject_hook(place, name):
+
+    # XXX: place is ignored at present, as we don't yet
+    #      have placeful factories
+
     try: factory = _factories[name]
     except KeyError:
         raise ComponentLookupError(name)