Hi all,
Due the sparse time, shortly (shortly?):
1. @RenderAs (like majority of Merlin annotations) support CIO
(Concrete Interface Objects) and AIO (Abstract Interface Objects). A
JCheckBox is a typical CIO, and if used, a compilation time dependency
will be rised. To prevent this situation, we can use an intermediate
and abstract element, like COMBOBOX. The COMBOBOX is an AIO example,
and can be defined freely by programmers. Whe AIO are used, at runtime
Merlin translate it to the correct CIO (with some degration if the CIO
is not available in the current ui toolkit). Speaking more about
compilation dependencies, my experience demonstrated that this is a
litle problem in any case. Therefore, CIO or AIO approach is a design
decision. In my opinion, the major benefit of CIO usage, is a directly
requirement representation. And finally, it is important explain that
Merlin has a bi-directional mapping beetwen ui elements. For example,
@RenderAs(JCheckBox.class) will be renderized like a Combo in Swing
and in a JSF too.
2. @Order is an instigate challenge for programmeres. This annotation
comprise an AIO concept. For example, @Order(FIRST) can be interpreted
like "the last element in the screen at right-bottom corner", if an
"Bottom-Up RightToLeft Layout engine are attached to the container".
Very crazy, I know :)
3. @Dependence are used to create "filling dependencies" between
componentes. The built-in dependencies are "enable/disable" and "show/
hide" comportaments. The @Dependence are used over the "master" field
to indicate the dependents, or the "slave", fields. For example,
@Dependence("email") boolean hasEmail, indicates that, if "hasEmail"
are filled, then, the "email" control will be enabled for fulfilling.
This annotation support multiple dependencies, like
@Dependence("phone1;phone2;phone3") and so. Some shortcuts are
available to. Expressions like @Dependence(":all") denotes "all
elements in the screen, except the annoted element". Programmer can
overrides or extend dependencies implementing a IActionDependence
interface.
Sincerely,
On May 22, 8:57 pm, Richard Kennard <
rich...@kennardconsulting.com>
wrote: