E&S CVS Commit: PEAK - First phase of the binding API simplification, including detailed docs

pje at eby-sarna.com pje at eby-sarna.com
Fri Sep 26 21:53:01 EDT 2003

Module Name:	PEAK
Committed By:	pje
Date:		Sat Sep 27 01:52:02 UTC 2003

Modified Files:
	PEAK/src/peak/binding: components.py interfaces.py once.py
	PEAK/src/peak/config: config_components.py
	PEAK/src/peak/model: features.py

Log Message:
First phase of the binding API simplification, including detailed docs
for 'Descriptor' and 'Attribute'.  (Second phase will be mass
search-and-replace of the API's usage in PEAK, third will be additional
tests and docs.)

Added 'binding.Require', 'binding.Obtain', 'binding.Make', and
'binding.Delegate'.  *ALL* other binding types are now DEPRECATED, and will
go away before 0.5 beta is released.  Please see CHANGES.txt for a detailed
mapping of how to translate from the old to new API, and let me know if
anything's missing.

Note that the new 'Make' and 'Obtain' bindings also support sequences of
recipes and keys, and in those cases will produce a sequence of the results
from those recipes or keys.  Also, 'Make' will accept no-argument and
one-argument callables,  where 'Once' always required three-argument
functions.  This should make it a lot easier to write short binding

Also, note that the 'activateUponAssembly' keyword is now 'uponAssembly',
and 'isVolatile' is now 'noCache'.  (The old names will work as keyword
arguments until the alpha 4 development cycle begins.)  The
'binding.IActiveDescriptor' interface also changed as a result of this.
Last, but not least, a 'binding.IRecipe' interface was added, to support
the new 'binding.Make' type.

To view diffs of this commit, you can use the following URL(s):

To generate a diff of this commit:
cvs rdiff -r1.84 -r1.85 PEAK/CHANGES.txt
cvs rdiff -r1.73 -r1.74 PEAK/TODO.txt
cvs rdiff -r1.126 -r1.127 PEAK/src/peak/binding/components.py
cvs rdiff -r1.17 -r1.18 PEAK/src/peak/binding/interfaces.py
cvs rdiff -r1.62 -r1.63 PEAK/src/peak/binding/once.py
cvs rdiff -r1.59 -r1.60 PEAK/src/peak/config/config_components.py
cvs rdiff -r1.23 -r1.24 PEAK/src/peak/model/features.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

More information about the source-changes mailing list