Author: buildbot
Date: Sat Feb 23 13:20:51 2013
New Revision: 851669

Log:
Production update by buildbot for tapestry

Modified:
    websites/production/tapestry/content/assets.html
    websites/production/tapestry/content/cache/main.pageCache
    websites/production/tapestry/content/component-parameters.html

Modified: websites/production/tapestry/content/assets.html
==============================================================================
--- websites/production/tapestry/content/assets.html (original)
+++ websites/production/tapestry/content/assets.html Sat Feb 23 13:20:51 2013
@@ -87,50 +87,48 @@
 
 <p>In Tapestry, <b>Assets</b> are any kind of <em>static</em> content that may 
be downloaded to a client web browser, such as images, style sheets and 
JavaScript files.</p>
 
-<p>Assets are most commonly stored in the web application's context folder ... 
stored inside the web application WAR file in the usual JEE fashion.</p>
-
-<p>In addition, Tapestry treats files stored <em>on the classpath</em>, with 
your Java class files, as assets visible to the web browser.</p>
+<p>Assets are most commonly stored in the web application's context folder ... 
stored inside the web application WAR file in the usual JEE fashion. In 
addition, Tapestry treats files stored <em>on the classpath</em>, with your 
Java class files, as assets visible to the web browser.</p>
 
 <p>Assets are exposed to your code as instances of the <a shape="rect" 
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/Asset.html";>Asset</a>
 interface.</p>
 
-<h2><a shape="rect" name="Assets-InjectingAssets"></a>Injecting Assets</h2>
+<h2><a shape="rect" name="Assets-AssetsinTemplates"></a>Assets in 
Templates</h2>
 
-<p>Components learn about assets via <a shape="rect" href="injection.html" 
title="Injection">injection</a>. The @<a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/Inject.html";>Inject</a>
 annotation allows Assets to be injected into components as read-only 
properties. The path to the resource is specified using the Path annotation:</p>
+<p>Assets can also be referenced directly in templates. Two <a shape="rect" 
href="component-parameters.html#ComponentParameters-bindingexpressions">binding 
prefixes</a> exist for this: "asset:" and "context:". The "asset:" prefix can 
obtain assets from the classpath (the default) or from the web context (by 
specifying the "context:" domain explicitly):</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
 <pre class="code-java">
-@Inject
-@Path(<span class="code-quote">"context:images/tapestry_banner.gif"</span>)
-<span class="code-keyword">private</span> Asset banner;
+&lt;img src=<span 
class="code-quote">"${asset:context:image/tapestry_banner.gif}"</span> 
alt=<span class="code-quote">"Banner"</span>/&gt;
 </pre>
 </div></div>
 
-<p>Assets are located within <em>domains</em>; these domains are identified by 
the prefix on the @Path annotation's <tt>value</tt>.</p>
-
-<p>If the prefix is omitted, the value will be interpreted as a path relative 
to the Java class file itself, within the "classpath:" domain. This is often 
used when creating component libraries, where the assets used by the components 
are packaged in the JAR with the components themselves.</p>
-
-<p>Unlike elsewhere in Tapestry, <em>case matters</em>. This is because 
Tapestry is dependent on the Servlet API and the Java runtime to access the 
underlying files, and those APIs, unlike Tapestry, are case sensitive. Be aware 
that some <em>operating systems</em> (such as Windows) are case insensitive, 
which may mask errors that will be revealed at deployment (if the deployment 
operating system is case sensitive, such as Linux).</p>
-
-<h2><a shape="rect" name="Assets-AssetsinTemplates"></a>Assets in 
Templates</h2>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col 
span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" 
valign="top"><img align="middle" src="/images/confluence/information.gif" 
width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">This 
is an example of using a <em>template expansion</em> inside an ordinary element 
(rather than a component).</td></tr></table></div>
 
-<p>Assets can also be referenced directly in templates. Two <a shape="rect" 
href="component-parameters.html#ComponentParameters-bindingexpressions">binding 
prefixes</a> exist for this: "asset:" and "context:". The "asset:" prefix can 
obtain assets from the classpath (the default) or from the web context (by 
specifying the "context:" domain explicitly):</p>
+<p>Because accessing context assets is so common, the "context:" binding 
prefix was introduced:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
 <pre class="code-java">
-&lt;img src=<span 
class="code-quote">"${asset:context:image/tapestry_banner.gif}"</span> 
alt=<span class="code-quote">"Banner"</span>/&gt;
+&lt;img src=<span 
class="code-quote">"${context:image/tapestry_banner.gif}"</span> alt=<span 
class="code-quote">"Banner"</span>/&gt;
 </pre>
 </div></div>
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col 
span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" 
valign="top"><img align="middle" src="/images/confluence/information.gif" 
width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">This 
is an example of using a <em>template expansion</em> inside an ordinary element 
(rather than a component).</td></tr></table></div>
+<h2><a shape="rect" name="Assets-AssetsinComponentClasses"></a>Assets in 
Component Classes</h2>
 
-<p>Because accessing context assets is so common, the "context:" binding 
prefix was introduced:</p>
+<p>Components learn about assets via <a shape="rect" href="injection.html" 
title="Injection">injection</a>. The @<a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/Inject.html";>Inject</a>
 annotation allows Assets to be injected into components as read-only 
properties. The path to the resource is specified using the Path annotation:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
 <pre class="code-java">
-&lt;img src=<span 
class="code-quote">"${context:image/tapestry_banner.gif}"</span> alt=<span 
class="code-quote">"Banner"</span>/&gt;
+@Inject
+@Path(<span class="code-quote">"context:images/tapestry_banner.gif"</span>)
+<span class="code-keyword">private</span> Asset banner;
 </pre>
 </div></div>
 
+<p>Assets are located within <em>domains</em>; these domains are identified by 
the prefix on the @Path annotation's <tt>value</tt>.</p>
+
+<p>If the prefix is omitted, the value will be interpreted as a path relative 
to the Java class file itself, within the "classpath:" domain. This is often 
used when creating component libraries, where the assets used by the components 
are packaged in the JAR with the components themselves.</p>
+
+<p>Unlike elsewhere in Tapestry, <em>case matters</em>. This is because 
Tapestry is dependent on the Servlet API and the Java runtime to access the 
underlying files, and those APIs, unlike Tapestry, are case sensitive. Be aware 
that some <em>operating systems</em> (such as Windows) are case insensitive, 
which may mask errors that will be revealed at deployment (if the deployment 
operating system is case sensitive, such as Linux).</p>
+
 <h2><a shape="rect" name="Assets-RelativeAssets"></a>Relative Assets</h2>
 
 <p>You can use relative paths with domains (if you omit the prefix):</p>
@@ -163,23 +161,19 @@
 
 <h2><a shape="rect" name="Assets-LocalizationofAssets"></a>Localization of 
Assets</h2>
 
+<p>Main Article: <a shape="rect" href="localization.html" 
title="Localization">Localization</a></p>
+
 <p>Assets are localized; Tapestry will search for a variation of the file 
appropriate to the effective locale for the request. In the previous example, a 
German user of the application may see a file named <tt>edit_de.png</tt> (if 
such a file exists).</p>
 
 <h2><a shape="rect" name="Assets-NewAssetDomains"></a>New Asset Domains</h2>
 
-<p>If you wish to create new domains for assets, for example to allow assets 
to be stored on the file system or in a database, you may define a new 
AssetFactory and contribute it to the AssetSource service configuration.</p>
+<p>If you wish to create new domains for assets, for example to allow assets 
to be stored on the file system or in a database, you may define a new <a 
shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/AssetFactory.html";>AssetFactory</a>
 and contribute it to the <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/AssetSource.html";>AssetSource</a>
 service configuration.</p>
 
 <h2><a shape="rect" name="Assets-AssetURLs"></a>Asset URLs</h2>
 
-<p>Tapestry creates a new URL for assets (whether context or classpath). The 
URL is of the form <tt>/assets/</tt><em>application version 
number</em><tt>/</tt><em>folder</em><tt>/</tt><em>path</em>.</p>
-
-<ul><li>application version number: Defined by symbol 
<tt>tapestry.application-version</tt>, the default value is a random hex 
number.</li></ul>
-
-
-<ul><li>folder: Identifies the library containing the asset, or "ctx" for a 
context asset, or "stack" (used when combining multiple JavaScript files into a 
single virtual asset).</li></ul>
-
+<p>Tapestry creates a new URL for assets (whether context or classpath). The 
URL is of the form /assets/<b>version</b>/<b>folder</b>/<b>path</b>.</p>
 
-<ul><li>path: The path below the root package of the library to the specific 
asset file.</li></ul>
+<ul><li><b>version</b>: Application version number, defined by the 
<tt>tapestry.application-version</tt> symbol in your application module 
(normally AppModule.java). The default is a random hex 
number.</li><li><b>folder</b>: Identifies the library containing the asset, or 
"ctx" for a context asset, or "stack" (used when combining multiple JavaScript 
files into a single virtual asset).</li><li><b>path</b>: The path below the 
root package of the library to the specific asset file.</li></ul>
 
 
 <h2><a shape="rect" name="Assets-PerformanceNotes"></a>Performance Notes</h2>
@@ -200,10 +194,7 @@
 
 <p>But what about other files on the classpath? Imagine this scenario:</p>
 
-<ul><li>Your Login page exposes a classpath asset, <tt>icon.png</tt>.</li></ul>
-
-
-<ul><li>A malicious client copies the URL, 
<tt>/assets/1.0.0/app/pages/icon.png</tt>,<style type="text/css">
+<ul><li>Your Login page exposes a classpath asset, 
<tt>icon.png</tt>.</li><li>A malicious client copies the URL, 
<tt>/assets/1.0.0/app/pages/icon.png</tt>,<style type="text/css">
 .FootnoteMarker, .FootnoteNum a {
   background: transparent 
url(/confluence/download/resources/com.adaptavist.confluence.footnoteMacros:footnote/gfx/footnote.png)
 no-repeat top right;
   padding: 1px 2px 0px 1px;
@@ -275,27 +266,39 @@ var footnoteMarkerHighlight = function(i
             1
     </a>
 </sup>
- and changes the file name to <tt>Login.class</tt>.</li></ul>
-
-
-<ul><li>The client decompiles the class file and spots your secret emergency 
password: goodbye security!</li></ul>
+ and changes the file name to <tt>Login.class</tt>.</li><li>The client 
decompiles the class file and spots your secret emergency password: goodbye 
security!
+<sup id="FootnoteMarker2">
+    <a shape="rect" class="FootnoteMarker" name="FootnoteMarker2" 
href="#Footnote2" onclick="footnoteHighlight(&quot;2&quot;,true);" 
alt="Footnote: Click here to display the footnote" title="Footnote: Click here 
to display the footnote">
+            2
+    </a>
+</sup>
+</li></ul>
 
 
 <p>Fortunately, this can't happen.  Files with extension ".class" are secured; 
they must be accompanied in the URL with a query parameter that is the MD5 hash 
of the file's contents.  If the query parameter is absent, or doesn't match the 
actual file's content, the request is rejected.</p>
 
 <p>When your code exposes an Asset, the URL will automatically include the 
query parameter if the file type is secured.  The malicious user is locked out 
of access to the files
-<sup id="FootnoteMarker2">
-    <a shape="rect" class="FootnoteMarker" name="FootnoteMarker2" 
href="#Footnote2" onclick="footnoteHighlight(&quot;2&quot;,true);" 
alt="Footnote: Click here to display the footnote" title="Footnote: Click here 
to display the footnote">
-            2
+<sup id="FootnoteMarker3">
+    <a shape="rect" class="FootnoteMarker" name="FootnoteMarker3" 
href="#Footnote3" onclick="footnoteHighlight(&quot;3&quot;,true);" 
alt="Footnote: Click here to display the footnote" title="Footnote: Click here 
to display the footnote">
+            3
     </a>
 </sup>
 .</p>
 
-<p>By default, Tapestry secures file extensions ".class', ".tml" and 
".properties".  The list can be extended by contributing to the 
ResourceDigestGenerator service contribution.</p>
+<p>By default, Tapestry secures file extensions ".class', ".tml" and 
".properties".  The list can be extended by contributing to the <a shape="rect" 
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/ResourceDigestGenerator.html";>ResourceDigestGenerator</a>
 service contribution:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeHeader 
panelHeader" style="border-bottom-width: 1px;"><b>AppModule.java 
(partial)</b></div><div class="codeContent panelContent">
+<pre class="code-java">
+<span class="code-keyword">public</span> <span 
class="code-keyword">static</span> void 
contributeResourceDigestGenerator(Configuration&lt;<span 
class="code-object">String</span>&gt; configuration)
+{
+    configuration.add(<span class="code-quote">"xyz"</span>);
+}
+</pre>
+</div></div>
 
 <h2><a shape="rect" name="Assets-MinimizingAssets"></a>Minimizing Assets</h2>
 
-<p>Since version 5.3, Tapestry provides a service, ResourceMinimizer, which 
will help to minimize all your static resources (principally CSS and JavaScript 
files).</p>
+<p>Since version 5.3, Tapestry provides a service, <a shape="rect" 
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/assets/ResourceMinimizer.html";>ResourceMinimizer</a>,
 which will help to minimize all your static resources (principally CSS and 
JavaScript files).</p>
 
 <p>By default, this service does nothing. You should include a third-party 
library, for example the tapestry-yuicompressor project, which makes it 
possible to minimize CSS and JavaScript files.</p>
 
@@ -325,7 +328,8 @@ var footnoteMarkerHighlight = function(i
 <p>If you want to add your own minimizer for particular types of assets, you 
can contribute to the ResourceMinimizer service. The service configuration maps 
the MIME-TYPE of your resource to an implementation of the ResourceMinimizer 
interface.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader 
panelHeader" style="border-bottom-width: 1px;"><b>AppModule.java 
(partial)</b></div><div class="codeContent panelContent">
-<pre class="code-java">@Contribute(ResourceMinimizer.class)
+<pre class="code-java">
+@Contribute(ResourceMinimizer.class)
 @Primary
 <span class="code-keyword">public</span> <span 
class="code-keyword">static</span> void 
contributeMinimizers(MappedConfiguration&lt;<span 
class="code-object">String</span>, ResourceMinimizer&gt; configuration)
 {
@@ -346,6 +350,12 @@ var footnoteMarkerHighlight = function(i
             2
         </a>
       </td><td colspan="1" rowspan="1" valign="top" class="Footnote" 
id="Footnote2" width="100%" headings="footnote-th2">
+          Never create such back doors, of course!
+      </td></tr><tr name="Footnote3"><td colspan="1" rowspan="1" valign="top" 
class="FootnoteNum" headings="footnote-th1">
+        <a shape="rect" id="FootnoteNum3" href="#FootnoteMarker3" 
onclick="footnoteMarkerHighlight(&quot;3&quot;);" 
onmouseover="footnoteHighlight(&quot;3&quot;,false);" alt="Footnote: Click to 
return to reference in text" title="Footnote: Click to return to reference in 
text">
+            3
+        </a>
+      </td><td colspan="1" rowspan="1" valign="top" class="Footnote" 
id="Footnote3" width="100%" headings="footnote-th2">
           Unless they already have the files so that they can generate the MD5 
checksum ... to get access to the files they already have.
       </td></tr></tbody></table></p></div>
 </div>

Modified: websites/production/tapestry/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/tapestry/content/component-parameters.html
==============================================================================
--- websites/production/tapestry/content/component-parameters.html (original)
+++ websites/production/tapestry/content/component-parameters.html Sat Feb 23 
13:20:51 2013
@@ -225,7 +225,7 @@
 
 <h3><a shape="rect" 
name="ComponentParameters-RenderVariables%3ABindings"></a>Render Variables: 
Bindings</h3>
 
-<p>Components can have any number of&#160;<em>render variables</em>. Render 
variables are named values with no specific type (they are ultimately stored in 
a Map). Render variables are useful for holding simple values, such as loop 
indices, that need to be passed from one component to another.</p>
+<p>Components can have any number of <em>render variables</em>. Render 
variables are named values with no specific type (they are ultimately stored in 
a Map). Render variables are useful for holding simple values, such as loop 
indices, that need to be passed from one component to another.</p>
 
 <p>For example, the following template code:</p>
 <div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
@@ -251,7 +251,7 @@
 
 </pre>
 </div></div>
-<p>In other words, you don't have to define a property in the Java code. The 
disadvantage is that render variables don't work with the property expression 
syntax, so you can pass around a render variable's&#160;<em>value</em>&#160;but 
you can't reference any of the value's properties.</p>
+<p>In other words, you don't have to define a property in the Java code. The 
disadvantage is that render variables don't work with the property expression 
syntax, so you can pass around a render variable's <em>value</em> but you can't 
reference any of the value's properties.</p>
 
 <p>Render variables are automatically cleared when a component finishes 
rendering.</p>
 
@@ -261,33 +261,33 @@
 
 <p>The "prop:" binding prefix indicates a property expression binding.</p>
 
-<p>Property expressions are used to link a parameter of a component to a 
property of its container. Property expressions can navigate a series of 
properties and/or invoke methods, as well as several other useful patterns. 
See<a shape="rect" href="property-expressions.html" title="Property 
Expressions">Property Expressions</a>.</p>
+<p>Property expressions are used to link a parameter of a component to a 
property of its container. Property expressions can navigate a series of 
properties and/or invoke methods, as well as several other useful patterns. See 
<a shape="rect" href="property-expressions.html" title="Property 
Expressions">Property Expressions</a>.</p>
 
 <p>The default binding prefix in most cases is "prop:", which is why it is 
usually omitted.</p>
 
 <h3><a shape="rect" 
name="ComponentParameters-Validate%3ABindings"></a>Validate: Bindings</h3>
 
-<p>Main Article:&#160;<a shape="rect" href="forms-and-validation.html" 
title="Forms and Validation">Forms and Validation</a></p>
+<p>Main Article: <a shape="rect" href="forms-and-validation.html" title="Forms 
and Validation">Forms and Validation</a></p>
 
 <p>The "validate:" binding prefix is highly specialized. It allows a short 
string to be used to create and configure the objects that perform input 
validation for form control components, such as TextField and Checkbox.</p>
 
-<p>The string is a comma-separated list of&#160;<em>validator types</em>. 
These are short aliases for objects that perform the validation. In many cases, 
the validation is configurable in some way: for example, a validator that 
enforces a minimum string length needs to know what that minimum string length 
is. Such values are specified after an equals sign.</p>
+<p>The string is a comma-separated list of <em>validator types</em>. These are 
short aliases for objects that perform the validation. In many cases, the 
validation is configurable in some way: for example, a validator that enforces 
a minimum string length needs to know what that minimum string length is. Such 
values are specified after an equals sign.</p>
 
-<p>For example:&#160;<tt>validate:required,minLength=5</tt>&#160;would 
presumably enforce that a field requires a value, with at least five 
characters.</p>
+<p>For example: <tt>validate:required,minLength=5</tt> would presumably 
enforce that a field requires a value, and with at least five characters.</p>
 
 <h3><a shape="rect" 
name="ComponentParameters-Translate%3ABindings"></a>Translate: Bindings</h3>
 
-<p>The "translate:" binding prefix is also related to input validator. It is 
the name of a configured&#160;<a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/Translator.html";>Translator</a>,
 responsible for converting between server-side and client-side representations 
of data (for instance, between client-side strings and server-side numeric 
values).</p>
+<p>The "translate:" binding prefix is also related to input validation. It is 
the name of a configured <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/Translator.html";>Translator</a>,
 responsible for converting between server-side and client-side representations 
of data (for instance, between client-side strings and server-side numeric 
values).</p>
 
-<p>The list of available translators is configured by the&#160;<a shape="rect" 
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/TranslatorSource.html";>TranslatorSource</a>&#160;service.</p>
+<p>The list of available translators is configured by the <a shape="rect" 
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/TranslatorSource.html";>TranslatorSource</a>
 service.</p>
 
 <h3><a shape="rect" name="ComponentParameters-Asset%3ABindings"></a>Asset: 
Bindings</h3>
 
-<p>Assets bindings are normally relative to the component class. This can be 
overridden by prefixing the path with "context:", in which case, the path is a 
context path from the root of the web application context. Because accessing 
context assets is relatively common, a separate binding prefix for that purpose 
exists (described below).</p>
+<p>Assets bindings are used to specify <a shape="rect" href="assets.html" 
title="Assets">Assets</a>, static content served by Tapestry. By default, 
assets are located relative to the component class in your packaged application 
or module. This can be overridden by prefixing the path with "context:", in 
which case, the path is a context path from the root of the web application 
context. Because accessing context assets is relatively common, a separate 
"context:" binding prefix for that purpose exists (described below).</p>
 
 <h3><a shape="rect" name="ComponentParameters-Context%3ABindings"></a>Context: 
Bindings</h3>
 
-<p>Context bindings are like asset bindings, but the path 
is&#160;<em>always</em>&#160;relative to the root of the web application 
context. This is intended for use inside templates, i.e.:</p>
+<p>Context bindings are like asset bindings, but the path is <em>always</em> 
relative to the root of the web application context. This is intended for use 
inside templates, i.e.:</p>
 <div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
 <pre class="code-xml">
   <span class="code-tag">&lt;img src=<span 
class="code-quote">"${context:images/icon.png}"</span>/&gt;</span>
@@ -300,7 +300,7 @@
 
 <h3><a shape="rect" name="ComponentParameters-RequiredParameters"></a>Required 
Parameters</h3>
 
-<p>Parameters that are required&#160;<b>must</b>&#160;be bound. A runtime 
exception occurs if a component has unbound required parameters.</p>
+<p>Parameters that are required <b>must</b> be bound. A runtime exception 
occurs if a component has unbound required parameters.</p>
 <div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
 <pre class="code-java"><span class="code-keyword">public</span> class 
Component{
 
@@ -310,17 +310,17 @@
 }</pre>
 </div></div>
 
-<div class="panelMacro"><table class="tipMacro"><colgroup span="1"><col 
span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" 
valign="top"><img align="middle" src="/images/confluence/check.gif" width="16" 
height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Sometimes a 
parameter is marked as required, but may still be omitted if the underlying 
value is provided by some other means. This is the case, for example, with the 
Select component's value parameter, which may have its underlying value set 
by&#160;<a shape="rect" href="using-select-with-a-list.html" title="Using 
Select With a List">contributing a ValueEncoderSource</a>. Be sure to read the 
component's parameter documentation carefully. Required simply enables checks 
that the parameter is bound, it does not mean that you must supply the binding 
in the template (or @Component annotation).</td></tr></table></div>
+<div class="panelMacro"><table class="tipMacro"><colgroup span="1"><col 
span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" 
valign="top"><img align="middle" src="/images/confluence/check.gif" width="16" 
height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Sometimes a 
parameter is marked as required, but may still be omitted if the underlying 
value is provided by some other means. This is the case, for example, with the 
Select component's value parameter, which may have its underlying value set by 
<a shape="rect" href="using-select-with-a-list.html" title="Using Select With a 
List">contributing a ValueEncoderSource</a>. Be sure to read the component's 
parameter documentation carefully. Required simply enables checks that the 
parameter is bound, it does not mean that you must supply the binding in the 
template (or @Component annotation).</td></tr></table></div>
 
 <h3><a shape="rect" name="ComponentParameters-OptionalParameters"></a>Optional 
Parameters</h3>
 
 <p>Parameters are optional unless they are marked as required.</p>
 
-<p>You may set a default value for optional parameters using 
the&#160;<tt>value</tt>&#160;element of the @Parameter annotation. In the Count 
component above, the start parameter has a default value of 1. That value is 
used unless the start parameter is bound, in which case, the bound value 
supersedes the default.</p>
+<p>You may set a default value for optional parameters using the 
<tt>value</tt> element of the @Parameter annotation. In the Count component 
above, the start parameter has a default value of 1. That value is used unless 
the start parameter is bound, in which case, the bound value supersedes the 
default.</p>
 
 <h3><a shape="rect" 
name="ComponentParameters-ParameterBindingDefaults"></a>Parameter Binding 
Defaults</h3>
 
-<p>The @Parameter annotation's&#160;<tt>value</tt>&#160;element can be used to 
specify a&#160;<em>binding expression</em>&#160;that will be the default 
binding for the parameter if otherwise left unbound. Typically, this is the 
name of a property that that will compute the value on the fly.</p>
+<p>The @Parameter annotation's <tt>value</tt> element can be used to specify a 
<em>binding expression</em> that will be the default binding for the parameter 
if otherwise left unbound. Typically, this is the name of a property that that 
will compute the value on the fly.</p>
 <div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
 <pre class="code-java">
 @Parameter(value=<span class="code-quote">"defaultMessage"</span>) <span 
class="code-comment">// or, equivalently, @Parameter(<span 
class="code-quote">"defaultMessage"</span>)


Reply via email to