tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r984560 - in /websites/production/tapestry/content: cache/main.pageCache symbols.html
Date Sat, 02 Apr 2016 23:19:42 GMT
Author: buildbot
Date: Sat Apr  2 23:19:42 2016
New Revision: 984560

Log:
Production update by buildbot for tapestry

Modified:
    websites/production/tapestry/content/cache/main.pageCache
    websites/production/tapestry/content/symbols.html

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

Modified: websites/production/tapestry/content/symbols.html
==============================================================================
--- websites/production/tapestry/content/symbols.html (original)
+++ websites/production/tapestry/content/symbols.html Sat Apr  2 23:19:42 2016
@@ -158,7 +158,21 @@
     if (productionMode) {
       . . .
 </pre>
-</div></div><p>This is very useful when a constant value is defined for
the symbol; it means that the compiler can catch a typo, rather than detecting it a runtime.</p><p><strong>Note:</strong>
When injecting a symbol as a <em>string</em> into a service, you must use the
@Inject annotation as well as @Value or @Symbol; otherwise Tapestry will inject the service's
service id.</p><h2 id="Symbols-SymbolResolution">Symbol Resolution</h2><p>Symbols
are resolved by the <a  class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/services/SymbolSource.html">SymbolSource</a>
service. The SymbolSource service checks against an ordered list of <a  class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/services/SymbolProvider.html">SymbolProvider</a>
objects.</p><p>You may employ additional symbol providers by contributing to the
SymbolSource service configuration, which is an ordered list of SymbolProviders.</p><p
 >By default, there are three providers:</p><h3 id="Symbols-SystemPropertiesProvider">SystemProperties
Provider</h3><p>The first provider allows JVM System Properties to provide symbol
values. This allows the use of the <strong>java</strong> command's <strong>-D</strong>
option to provide runtime overrides. This is most often used when testing code, rather than
in production. SystemProperties is always checked first.</p><h3 id="Symbols-ApplicationDefaultsProvider">ApplicationDefaults
Provider</h3><p>Values not found as System Properties are searched for in the
ApplicationDefaults. This service, ApplicationDefaults, may be configured using a mapped configuration
to provide values.</p><p>From the previous example:</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>This is very useful when a constant value is defined for
the symbol; it means that the compiler can catch a typo, rather than detecting it a runtime.</p><p><strong>Note:</strong>
When injecting a symbol as a <em>string</em> into a service, you must use the
@Inject annotation as well as @Value or @Symbol; otherwise Tapestry will inject the service's
service id.</p><h2 id="Symbols-SymbolsinComponentClassesandTemplates">Symbols
in Component Classes and Templates</h2><p>It's easy to use a symbol in a component
class:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">  @Inject
+  @Symbol(SymbolConstants.PRODUCTION_MODE)
+  private boolean productionMode;
+  . . .
+  void setupRender() {
+    if (productionMode) {
+        . . .
+    }
+  }</pre>
+</div></div><p>You can even use them directly in a component template,
using the "symbol" binding prefix:</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">&lt;t:if
test="!symbol:tapestry.production-mode"&gt;
+  &lt;p&gt;WARNING: We're running in development mode (slower, and less secure)&lt;/p&gt;
+&lt;/t:if&gt;</pre>
+</div></div><h2 id="Symbols-SymbolResolution">Symbol Resolution</h2><p>Symbols
are resolved by the <a  class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/services/SymbolSource.html">SymbolSource</a>
service. The SymbolSource service checks against an ordered list of <a  class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/services/SymbolProvider.html">SymbolProvider</a>
objects.</p><p>You may employ additional symbol providers by contributing to the
SymbolSource service configuration, which is an ordered list of SymbolProviders.</p><p>By
default, there are three providers:</p><h3 id="Symbols-SystemPropertiesProvider">SystemProperties
Provider</h3><p>The first provider allows JVM System Properties to provide symbol
values. This allows the use of the <strong>java</strong> command's <strong>-D</strong>
option to provide runtime overrides. This is most often used when testing code, rather than
in pro
 duction. SystemProperties is always checked first.</p><h3 id="Symbols-ApplicationDefaultsProvider">ApplicationDefaults
Provider</h3><p>Values not found as System Properties are searched for in the
ApplicationDefaults. This service, ApplicationDefaults, may be configured using a mapped configuration
to provide values.</p><p>From the previous example:</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">  public
void contributeApplicationDefaults(MappedConfiguration&lt;String, String&gt; configuration)
   {
     configuration.add("some-service-id", "WackyCollaborator");



Mime
View raw message