Date: 2004-08-10T18:53:26
Editor: KenTam <[EMAIL PROTECTED]>
Wiki: Apache Beehive Wiki
Page: Controls/AssemblyAndBinding
URL: http://wiki.apache.org/beehive/Controls/AssemblyAndBinding
no comment
Change Log:
------------------------------------------------------------------------------
@@ -48,7 +48,7 @@
}}}
External configuration of bindings is supported via a "controls binding file",
an optional, user-authored, application scoped properties file that contains:
- * bindings between ControlBean/interface types and control implementation
types. Each binding applies to all usages of the CB/interface type within that
app.
+ * bindings between C''''''ontrolBean/interface types and control
implementation types. Each binding applies to all usages of the CB/interface
type within that app.
Example controls binding file (e.g. {{{MyApp.controls.properties}}})
{{{
@@ -62,13 +62,12 @@
== The Assembly Process ==
-A control implementation declares its desire to participate in the assembly
process via the optional "assemblyClass" attribute on the [EMAIL PROTECTED]
annotation. The class referenced by "assemblyClass" must implement the
ControlAssembler interface [see attached]
-
+A control implementation declares its desire to participate in the assembly
process via the optional "assemblyClass" attribute on the [EMAIL PROTECTED]
annotation. The class referenced by "assemblyClass" must implement the
{{{ControlAssembler}}} interface.
Assembly takes place after the control clients have been handled by the
control client processor, and relies on the client manifest (or its moral
equivalent which can be obtained via reflection). All controls referenced by
the client be must completely compiled prior to assembly; in particular, the
assembler classes associated with the control implementations must be compiled
(note for nested controls usage -- "compiled" does not include running
assembly! It does include bean gen).
The assembly process operates on a set of "assembly targets". An assembly
target is any J2EE module that contains 1+ control clients, and represents the
smallest amount of assembly work that can be done. For example, an EJB-based
JWS is an assembly target, and a webapp with several JPFs that use controls is
an assembly target.
-For a J2EE module type to support control clients, there must be provided an
implementation of the {{{ControlAssemblyContext}}} interface (see attached),
which exposes the characteristics of the module to the assembly process (ie,
providing access to file system locations so files can be added to the module,
providing access to read/modify descriptors, etc).
+For a J2EE module type to support control clients, there must be provided an
implementation of the {{{ControlAssemblyContext}}} interface, which exposes the
characteristics of the module to the assembly process (ie, providing access to
file system locations so files can be added to the module, providing access to
read/modify descriptors, etc).
{{{
REVIEW: Consider exposing specific operations like "addEjbLink"