echopointng.ui.util
Class JavaScriptSnippetService

java.lang.Object
  extended by echopointng.ui.util.JavaScriptSnippetService
All Implemented Interfaces:
Service

public class JavaScriptSnippetService
extends java.lang.Object
implements Service

JavaScriptSnippetService allows for dynamic snippets of JavaScript to be sent to the broweser. And because this class has a setter for the content, you can "re-used" instances of this Service and change the content servered.

It is designed to give you a "per component instance" of some JavaScript snippet, as opposed to the standard JavaScriptService which is designed for static JS content.

Use the getId() to lookup and place the service into the ContainerInstance service registry.


Field Summary
 
Fields inherited from interface nextapp.echo2.webrender.Service
DO_NOT_CACHE
 
Constructor Summary
JavaScriptSnippetService(Component associatedComponent)
          Constructs a JavaScriptSnippetService that serves the NO specified JS content.
JavaScriptSnippetService(Component associatedComponent, java.lang.String content)
          Constructs a JavaScriptSnippetService that serves the specified JS content.
 
Method Summary
static JavaScriptSnippetService forComponent(ContainerInstance ci, Component component)
          This will look inside the ContainerInstance's service registry and finds a JavaScriptSnippetService that has previously been created for the component.
 java.lang.String getContent()
          Returns the content of the JavaScript snippet, which may have been compressed.
 java.lang.String getId()
          Returns the unique identifier of this service.
 int getVersion()
          Returns the version of the service to be retrieved.
 void service(Connection conn)
          Services an HTTP request.
 void setContent(java.lang.String content)
          Sets the content of the JavaScript snippet, which may been compressed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JavaScriptSnippetService

public JavaScriptSnippetService(Component associatedComponent,
                                java.lang.String content)
Constructs a JavaScriptSnippetService that serves the specified JS content. The component's identifier is used to help name the Service.

Parameters:
associatedComponent - - the associated Component for this snippest of JS.
content - - the code of the JS snippet

JavaScriptSnippetService

public JavaScriptSnippetService(Component associatedComponent)
Constructs a JavaScriptSnippetService that serves the NO specified JS content. The component's identifier is used to help name the Service.

Parameters:
associatedComponent - - the associated Component for this snippest of JS.
Method Detail

forComponent

public static JavaScriptSnippetService forComponent(ContainerInstance ci,
                                                    Component component)
This will look inside the ContainerInstance's service registry and finds a JavaScriptSnippetService that has previously been created for the component.

This is designed to allow re-use of the Service.

Parameters:
ci - - the ContainerInstance which may contain the Service
component - - the associated component
Returns:
a JavaScriptSnippetService or null if one cant be found

getId

public java.lang.String getId()
Description copied from interface: Service
Returns the unique identifier of this service.

Specified by:
getId in interface Service
Returns:
The unique identifier of this service.
See Also:
nextapp.echo2.webrender.server.Service#getId()

getVersion

public int getVersion()
Description copied from interface: Service
Returns the version of the service to be retrieved. When a service is requested with an updated version number, a non-cached copy will be used. getVersion() should return distinct values whenever the service's content may have changed.

Specified by:
getVersion in interface Service
Returns:
The current version number of the service.
See Also:
nextapp.echo2.webrender.server.Service#getVersion()

service

public void service(Connection conn)
             throws java.io.IOException
Description copied from interface: Service
Services an HTTP request. Information about the HTTP request as well as methods for issuing a response are available from the provided Connection object.

Specified by:
service in interface Service
Parameters:
conn - A Connection object which wraps HttpServletRequest and HttpServletResponse objects and provides access to the facilities of the Echo application container.
Throws:
java.io.IOException - in the event of errors related to processing the HTTP request or producing a response.
See Also:
nextapp.echo2.webrender.server.Service#service(nextapp.echo2.webrender.server.Connection)

getContent

public java.lang.String getContent()
Returns the content of the JavaScript snippet, which may have been compressed.

Returns:
the content of the JavaScript snippet

setContent

public void setContent(java.lang.String content)
Sets the content of the JavaScript snippet, which may been compressed.

Parameters:
content- - the JavaScript snippest to be sent to the browser.