org.apache.wicket.markup.html
Interface IHeaderResponse

All Known Implementing Classes:
AbstractDependencyRespectingResourceAggregatingHeaderResponse, AbstractResourceAggregatingHeaderResponse, DecoratingHeaderResponse, EmbeddedPortletHeaderResponse, HeaderResponse, HeaderResponseContainerFilteringHeaderResponse, JavascriptFilteredIntoFooterHeaderResponse, ResourceReferenceDependencyInjectingHeaderResponse

public interface IHeaderResponse

Interface that is used to render header elements (usually javascript and CSS references). Implementation of this interface is responsible for filtering duplicate contributions (so that for example the same javascript is not loaded twice) during the same request.

Author:
Matej Knopp

Method Summary
 void close()
          Mark Header rendering is completed and subsequent usage will be ignored.
 Response getResponse()
          Returns the response that can be used to write arbitrary text to the head section.
 boolean isClosed()
           
 void markRendered(Object object)
          Marks the given object as rendered.
 void renderCSSReference(ResourceReference reference)
          Writes a CSS reference, if the specified reference hasn't been rendered yet.
 void renderCSSReference(ResourceReference reference, String media)
          Writes a CSS reference, if the specified reference hasn't been rendered yet.
 void renderCSSReference(String url)
          Writes a CSS reference, if the specified reference hasn't been rendered yet.
 void renderCSSReference(String url, String media)
          Writes a CSS reference, if the specified reference hasn't been rendered yet.
 void renderJavascript(CharSequence javascript, String id)
          Renders javascript code to the response, if the javascript has not already been rendered.
 void renderJavascriptReference(ResourceReference reference)
          Writes a javascript reference, if the specified reference hasn't been rendered yet.
 void renderJavascriptReference(ResourceReference reference, String id)
          Writes a javascript reference, if the specified reference hasn't been rendered yet.
 void renderJavascriptReference(String url)
          Writes a javascript reference, if the specified reference hasn't been rendered yet.
 void renderJavascriptReference(String url, String id)
          Writes a javascript reference, if the specified reference hasn't been rendered yet.
 void renderOnDomReadyJavascript(String javascript)
          Renders javascript that is executed right after the DOM is built, before external resources (e.g.
 void renderOnEventJavascript(String target, String event, String javascript)
          Renders javascript that is executed after the given event happens on specified target
 void renderOnLoadJavascript(String javascript)
          Renders javascript that is executed after the entire page is loaded.
 void renderString(CharSequence string)
          Renders an arbitrary string to the header.
 boolean wasRendered(Object object)
          Returns whether the given object has been marked as rendered.
 

Method Detail

renderJavascriptReference

void renderJavascriptReference(ResourceReference reference)
Writes a javascript reference, if the specified reference hasn't been rendered yet.

Parameters:
reference - resource reference pointing to the javascript resource

renderJavascriptReference

void renderJavascriptReference(ResourceReference reference,
                               String id)
Writes a javascript reference, if the specified reference hasn't been rendered yet.

Parameters:
reference - resource reference pointing to the javascript resource
id - id that will be used to filter duplicate reference (it's still filtered by URL too)

renderJavascriptReference

void renderJavascriptReference(String url)
Writes a javascript reference, if the specified reference hasn't been rendered yet.

Parameters:
url - url of the the javascript resource

renderJavascriptReference

void renderJavascriptReference(String url,
                               String id)
Writes a javascript reference, if the specified reference hasn't been rendered yet.

Parameters:
url - url of the the javascript resource
id - id that will be used to filter duplicate reference (it's still filtered by URL too)

renderJavascript

void renderJavascript(CharSequence javascript,
                      String id)
Renders javascript code to the response, if the javascript has not already been rendered. the necessary surrounding script tags will be added to the output.

Parameters:
javascript - javascript content to be rendered.
id - unique id for the javascript element. This can be null, however in that case the ajax header contribution can't detect duplicate script fragments.

renderCSSReference

void renderCSSReference(ResourceReference reference)
Writes a CSS reference, if the specified reference hasn't been rendered yet.

Parameters:
reference - resource reference pointing to the CSS resource

renderCSSReference

void renderCSSReference(String url)
Writes a CSS reference, if the specified reference hasn't been rendered yet.

Parameters:
url - url of the CSS resource

renderCSSReference

void renderCSSReference(ResourceReference reference,
                        String media)
Writes a CSS reference, if the specified reference hasn't been rendered yet.

Parameters:
reference - resource reference pointing to the CSS resource
media - the media type for this CSS ("print", "screen", etc.)

renderCSSReference

void renderCSSReference(String url,
                        String media)
Writes a CSS reference, if the specified reference hasn't been rendered yet.

Parameters:
url - url of the CSS resource
media - the media type for this CSS ("print", "screen", etc.)

renderString

void renderString(CharSequence string)
Renders an arbitrary string to the header. The string is only rendered if the same string hasn't been rendered before.

Note: This method is kind of dangerous as users are able to write to the output whatever they like.

Parameters:
string - string to be rendered to head

markRendered

void markRendered(Object object)
Marks the given object as rendered. The object can be anything (string, resource reference, etc...). The purpose of this function is to allow user to manually keep track of rendered items. This can be useful for items that are expensive to generate (like interpolated text).

Parameters:
object - object to be marked as rendered.

wasRendered

boolean wasRendered(Object object)
Returns whether the given object has been marked as rendered.

Parameters:
object - Object that is queried to be rendered
Returns:
Whether the object has been marked as rendered during the request

getResponse

Response getResponse()
Returns the response that can be used to write arbitrary text to the head section.

Note: This method is kind of dangerous as users are able to write to the output whatever they like.

Returns:
Response

renderOnDomReadyJavascript

void renderOnDomReadyJavascript(String javascript)
Renders javascript that is executed right after the DOM is built, before external resources (e.g. images) are loaded.

Parameters:
javascript -

renderOnLoadJavascript

void renderOnLoadJavascript(String javascript)
Renders javascript that is executed after the entire page is loaded.

Parameters:
javascript -

renderOnEventJavascript

void renderOnEventJavascript(String target,
                             String event,
                             String javascript)
Renders javascript that is executed after the given event happens on specified target

Parameters:
target -
event -
javascript -

close

void close()
Mark Header rendering is completed and subsequent usage will be ignored. If some kind of buffering is used internally, this action will mark that the contents has to be flushed out.


isClosed

boolean isClosed()
Returns:
if header rendering is completed and subsequent usage will be ignored


Copyright © 2004-2011 Apache Software Foundation. All Rights Reserved.