Author: artdaw
Date: 2008-10-20 09:46:49 -0400 (Mon, 20 Oct 2008)
New Revision: 10827
Modified:
trunk/docs/cdkguide/en/src/main/docbook/modules/namingconv.xml
Log:
https://jira.jboss.org/jira/browse/RF-3692 - 'Naming conventions' chapter creation
Modified: trunk/docs/cdkguide/en/src/main/docbook/modules/namingconv.xml
===================================================================
--- trunk/docs/cdkguide/en/src/main/docbook/modules/namingconv.xml 2008-10-20 10:18:20 UTC
(rev 10826)
+++ trunk/docs/cdkguide/en/src/main/docbook/modules/namingconv.xml 2008-10-20 13:46:49 UTC
(rev 10827)
@@ -11,7 +11,274 @@
<title>Naming conventions</title>
<para>
- Work in progress...
+ During the development process,
+ the next naming convention for all project stuff should be mentioned.
+ </para>
+ <para>
+ At first take a look at the definitions that are used in this structure.
+ Uppercase symbols means Java names notation. For name "foo"
<name> means "foo",
+ and <Name> - "Foo":
+ </para>
+ <table>
+ <title>The structure definitions</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Definition</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <prefix>
+ </entry>
+ <entry>
+ A common library name for example, base JSF components use
<javax.faces> prefix.
+ The value for prefix get from an abstract component package or a
renderer template path.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <name>
+ </entry>
+ <entry>
+ A name for a base component.
+ For UIInput component <name> is
"input".
+ The value for a component name generator could be obtained from UI
or Abstract class name.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <markup>
+ </entry>
+ <entry>
+ A render-kit generated content name:
+ "html" for <emphasis
role="italic"><property>HTML/XHTML</property></emphasis>
pages,
+ "wml" for mobile content, etc.
+ It should be provided in the render-kit description by Ant task
+ or in <emphasis
role="italic"><property>Maven's
POM</property></emphasis>.
+ By default, "html" is used.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <rendererName>
+ </entry>
+ <entry>
+ A name of the renderer for concreting a visual component
implementation, e.g. "commandButton" , "panelGroup",
etc.
+ A generator can take <rendererName> from a template file
name.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <event>
+ </entry>
+ <entry>
+ A name for a Faces Event: "action" for all
+ <emphasis
role="italic"><property>ActionSource</property></emphasis>
components like UICommand.
+ It could be provided in the component configuration, or obtain from the
implemented source interface.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>
+ Now let's take a look to the naming convention.
+ By default, a generator expects the written Java classes structure above:
</para>
-
+ <table>
+ <title>The Java classes structure</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Naming convention</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <prefix>.component.Abstract<Name>
+ </entry>
+ <entry>
+ An optional abstract super-class for a JSF component.
+ In order to avoid manual writing for EL-enabled getters/setters,
saveState/restoreState methods,
+ listener-related methods etc., you can create an abstract class,
and a generator creates the implementation.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <prefix>.component.UIt<Name>
+ </entry>
+ <entry>
+ A Base component class. It can be generated from the abstract
superclass or created by a developer.
+ </entry>
+ </row>
+ <row>
+ <entry>
+
<prefix>.component.<markup>.<Markup><RendererName>
+ </entry>
+ <entry>
+ A renderer-specific generated component.
+ The <Markup> is a render-kit specific generation
name such as <property>html</property>,
+ <property>xml</property>,
<property>wml</property>.
+ In addition to the UI Component class, this class contains Java
Bean getter/setter methods
+ for renderer-specific attributes.
+ This class is generated by CDK.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <prefix>.t<Name>
+ </entry>
+ <entry>
+ A JSF UI component type. Can be provided in the configuration or
calculated from a component class name.
+ </entry>
+ </row>
+ <row>
+ <entry>
+
<prefix>.<Markup><RendererName>
+ </entry>
+ <entry>
+ A renderer-specific JSF component type. Can be provided in the
configuration or calculated from the renderer name.
+ </entry>
+ </row>
+ <row>
+ <entry>
+
<prefix>.renderkit.<RendererName>RendererBase
+ </entry>
+ <entry>
+ A Renderer Base class is an optional Renderer superclass,
+ implements methods from the template renderer.
+ Should be created by you.
+ </entry>
+ </row>
+ <row>
+ <entry>
+
<prefix>.renderkit.<markup><RendererName>
+ </entry>
+ <entry>
+ A generated Renderer
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <prefix>.<RendererName>
+ </entry>
+ <entry>
+ A JSF renderer type. Can be provided in the configuration or
calculated from a renderer name.
+ </entry>
+ </row>
+ <row>
+ <entry>
+
<prefix>.<Markup><RendererName>.xml
+ </entry>
+ <entry>
+ A template for generating the renderer class.
+ JSPX syntax is used. Should be provided by you.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <prefix>.taglib.<RendererName>Tag
+ </entry>
+ <entry>
+ A JSP tag class
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <prefix>.taglib.<RendererName>TagHandler
+ </entry>
+ <entry>
+ A Facelets Tag Handler class.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <RendererName>
+ </entry>
+ <entry>
+ A JSP/Facelets Tag name
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>
+ Here is the Java classes structure for the components, that uses JSF events:
+ </para>
+ <table>
+ <title>The Java classes structure for components, that uses JSF
events</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Naming convention</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <prefix>.event.<Event>Event
+ </entry>
+ <entry>
+ An event class, that you should provide.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <prefix>.event.<Event>Listener
+ </entry>
+ <entry>
+ An event listener interface,that could be generated by
<property>CDK</property>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <prefix>.event.<Event>Source
+ </entry>
+ <entry>
+ An interface for an event processing component, that includes the
following methods:
+ add<Event>Listener(<Event>Listener
listener ),
+ remove<Event>Listener(<Event>Listener
listener )
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <prefix>.event.<Event>EventWrapper
+ </entry>
+ <entry>
+ A wrapper class, that is used for binding listener's
EL-expression in user's beans.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <prefix>.taglib.<Event>ListenerTag
+ </entry>
+ <entry>
+ A JSP tag class for a creating listener instance.
+ A parent tag must creates component implementing Source
interface.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <prefix>.taglib.<Event>ListenerTagHandler
+ </entry>
+ <entry>
+ A Facelets tag class for creation of listener instance.
+ </entry>
+ </row>
+ <!-- row>
+ <entry>
+ process<Event>
+ </entry>
+ <entry>
+ An event processing method name in a listener interface.
+ </entry>
+ </row-->
+ </tbody>
+ </tgroup>
+ </table>
</chapter>
\ No newline at end of file