org.apache.tapestry5
Interface RenderSupport

All Known Implementing Classes:
RenderSupportImpl

public interface RenderSupport

Provides support to all components that render. This is primarily about generating unique client-side ids (very important for JavaScript generation) as well as accumulating JavaScript to be sent to the client. PageRenderSupport also allows for the incremental addition of stylesheets.

When rendering, a <script> block will be added to the bottom of the page (just before the </body> tag). The scripting statements added to this block will be executed, on the client, only once the page has fully loaded.


Method Summary
 void addClasspathScriptLink(String... classpaths)
          Used to add scripts that are stored on the classpath.
 void addInit(String functionName, JSONArray parameterList)
          Add an initialization call.
 void addInit(String functionName, JSONObject parameter)
          Alternate version of addInit(String, org.apache.tapestry5.json.JSONArray) where just a single object is passed.
 void addInit(String functionName, String... parameters)
          Alternate version of addInit(String, org.apache.tapestry5.json.JSONArray) where one or more strings are passed.
 void addScript(String script)
          Adds a script statement to the page's script block.
 void addScript(String format, Object... arguments)
          Adds a script statement to the page's script block.
 void addScriptLink(Asset... scriptAssets)
          Adds one or more new script assets to the page.
 void addScriptLink(String... scriptURLs)
          Adds some number of script links as strings representations of URLs.
 void addStylesheetLink(Asset stylesheet, String media)
          Adds a link to a CSS stylesheet.
 void addStylesheetLink(String stylesheetURL, String media)
          Adds a stylesheet as a URL.
 String allocateClientId(ComponentResources resources)
          As with allocateClientId(String) but uses the id of the component extracted from the resources.
 String allocateClientId(String id)
          Allocates a unique id based on the component's id.
 void autofocus(FieldFocusPriority priority, String fieldId)
          Invoked to set focus on a rendered field.
 

Method Detail

allocateClientId

String allocateClientId(String id)
Allocates a unique id based on the component's id. In some cases, the return value will not precisely match the input value (an underscore and a unique index value may be appended).

Parameters:
id - the component id from which a unique id will be generated
Returns:
a unique id for this rendering of the page
See Also:
IdAllocator

allocateClientId

String allocateClientId(ComponentResources resources)
As with allocateClientId(String) but uses the id of the component extracted from the resources.

Parameters:
resources - of the component which requires an id
Returns:
a unique id for this rendering of the page

addScriptLink

void addScriptLink(Asset... scriptAssets)
Adds one or more new script assets to the page. Assets are added uniquely, and appear as <script> elements just inside the <body> element of the rendered page. Duplicate requests to add the same script are quietly ignored.

Parameters:
scriptAssets - asset to the script to add

addScriptLink

void addScriptLink(String... scriptURLs)
Adds some number of script links as strings representations of URLs. The scripts are passed down to the client as-is. Typically, this is used to reference a script stored outside the web application entirely.

Parameters:
scriptURLs - URL strings of scripts

addClasspathScriptLink

void addClasspathScriptLink(String... classpaths)
Used to add scripts that are stored on the classpath. Each element has symbols expanded, then is converted to an asset and added as a script link.

Parameters:
classpaths - array of paths. Symbols in the paths are expanded, then the paths are each converted into an asset.

addStylesheetLink

void addStylesheetLink(Asset stylesheet,
                       String media)
Adds a link to a CSS stylesheet. As with JavaScript libraries, each stylesheet is added at most once. Stylesheets added this way will be ordered before any other content, in the <head> element of the document. The <head> element will be created, if necessary.

Parameters:
stylesheet - the asset referencing the stylesheet
media - the media value for the stylesheet, or null to not specify a specific media type

addStylesheetLink

void addStylesheetLink(String stylesheetURL,
                       String media)
Adds a stylesheet as a URL. See notes in addScriptLink(String[]).

Parameters:
stylesheetURL - URL string of stylesheet
media - media value fo the stylesheet, or null to not specify a specific media type

addScript

void addScript(String script)
Adds a script statement to the page's script block. A newline will be added after the script statement.

Parameters:
script - text to be added to the script block

addScript

void addScript(String format,
               Object... arguments)
Adds a script statement to the page's script block. The parameters are passed to String.format(String, Object[]) before being added to the script block. A newline will be added after the formatted statement.

Parameters:
format - base string format, to be passed through String.format
arguments - additional arguments formatted to form the final script

addInit

void addInit(String functionName,
             JSONArray parameterList)
Add an initialization call.

Parameters:
functionName - the name of the function (on the client-side Tapestry.Initializer object) to invoke.
parameterList - list of parameters for the method invocation.
See Also:
addScript(String, Object[])

addInit

void addInit(String functionName,
             JSONObject parameter)
Alternate version of addInit(String, org.apache.tapestry5.json.JSONArray) where just a single object is passed.

Parameters:
functionName - the name of the function (on the client-side Tapestry object) to invoke.
parameter - the object to pass to the function

addInit

void addInit(String functionName,
             String... parameters)
Alternate version of addInit(String, org.apache.tapestry5.json.JSONArray) where one or more strings are passed. A single string is added to the initialization call as itself; otherwise, the parameters are combined to form a JSONArray.

Parameters:
functionName - the name of the function (on the client-side Tapestry object) to invoke.
parameters -

autofocus

void autofocus(FieldFocusPriority priority,
               String fieldId)
Invoked to set focus on a rendered field. Takes into account priority, meaning that a field with errors will take precendence over a merely required field, and over a field that is optional. The value FieldFocusPriority.OVERRIDE can be used to force a particular field to receive focus.

Parameters:
priority - focus is set only if the provided priority is greater than the current priority
fieldId - id of client-side element to take focus


Copyright © 2006-2009 Apache Software Foundation. All Rights Reserved.