NextApp Echo3
v3.0.b4

nextapp.echo.webcontainer.service
Class ImageService

java.lang.Object
  extended by nextapp.echo.webcontainer.service.ImageService
All Implemented Interfaces:
Service

public class ImageService
extends java.lang.Object
implements Service

A Service which renders stream image references (including ResourceImageReferences and AwtImageReferences.


Field Summary
static ImageService INSTANCE
          Singleton instance of this Service.
 
Fields inherited from interface nextapp.echo.webcontainer.Service
DO_NOT_CACHE
 
Constructor Summary
ImageService()
           
 
Method Summary
 java.lang.String createUri(UserInstance userInstance, java.lang.String imageId)
          Creates a URI to retrieve a specific image for a specific component from the server.
 java.lang.String getId()
          Returns the unique identifier of this service.
 nextapp.echo.app.ImageReference getImage(UserInstance userInstance, java.lang.String imageId)
          Gets the image with the specified id.
 int getVersion()
          Returns the version of the service to be retrieved.
 void renderImage(Connection conn, nextapp.echo.app.ImageReference imageReference)
          Renders the specified image to the given connection.
 void service(Connection conn)
          Services an HTTP request.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final ImageService INSTANCE
Singleton instance of this Service.

Constructor Detail

ImageService

public ImageService()
Method Detail

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:
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:
Service.getVersion()

createUri

public java.lang.String createUri(UserInstance userInstance,
                                  java.lang.String imageId)
Creates a URI to retrieve a specific image for a specific component from the server.

Parameters:
userInstance - the relevant application user instance
imageId - the unique id to retrieve the image from the ContainerInstance

renderImage

public void renderImage(Connection conn,
                        nextapp.echo.app.ImageReference imageReference)
                 throws java.io.IOException
Renders the specified image to the given connection. Implementations should set the response content type, and write image data to the response OutputStream.

Parameters:
conn - the Connection on which to render the image
imageReference - the image to be rendered
Throws:
java.io.IOException - if the image cannot be rendered

getImage

public nextapp.echo.app.ImageReference getImage(UserInstance userInstance,
                                                java.lang.String imageId)
Gets the image with the specified id.

Parameters:
userInstance - the UserInstance from which the image was requested
imageId - the id of the image
Returns:
the image if found, null otherwise.

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:
Service.service(nextapp.echo.webcontainer.Connection)

NextApp Echo3
v3.0.b4