org.apache.wicket.markup.html.image.resource
Class BufferedDynamicImageResource

java.lang.Object
  extended by org.apache.wicket.Resource
      extended by org.apache.wicket.markup.html.WebResource
          extended by org.apache.wicket.markup.html.DynamicWebResource
              extended by org.apache.wicket.markup.html.image.resource.DynamicImageResource
                  extended by org.apache.wicket.markup.html.image.resource.BufferedDynamicImageResource
All Implemented Interfaces:
java.io.Serializable, IClusterable, IRequestListener, IResourceListener

public class BufferedDynamicImageResource
extends DynamicImageResource

A DynamicImageResource subclass that holds a BufferedImage generated by code elsewhere. The image is held in a non-transient field, and so if this resource is clustered, the entire image will be serialized and copied. If you can regenerate your image by drawing on a Graphics2D, you should prefer the RenderedDynamicImageResource class instead since its image data is transient and therefore it is very lightweight when clustered.

The format of the image (and therefore the resource's extension) can be specified with setFormat(String). The default format is "PNG" because JPEG is lossy and makes generated images look bad and GIF has patent issues.

Author:
Jonathan Locke
See Also:
RenderedDynamicImageResource, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.wicket.markup.html.DynamicWebResource
DynamicWebResource.ResourceState
 
Field Summary
 
Fields inherited from interface org.apache.wicket.IResourceListener
INTERFACE
 
Constructor Summary
BufferedDynamicImageResource()
          Construct.
BufferedDynamicImageResource(java.util.Locale locale)
          Construct.
BufferedDynamicImageResource(java.lang.String format)
          Construct.
BufferedDynamicImageResource(java.lang.String format, java.util.Locale locale)
          Construct.
 
Method Summary
protected  byte[] getImageData()
          Get image data for our dynamic image resource.
 void setImage(java.awt.image.BufferedImage image)
           
 
Methods inherited from class org.apache.wicket.markup.html.image.resource.DynamicImageResource
getFormat, getResourceState, setFormat, setLastModifiedTime, toImageData
 
Methods inherited from class org.apache.wicket.markup.html.DynamicWebResource
getLocale, getResourceStream, setHeaders
 
Methods inherited from class org.apache.wicket.markup.html.WebResource
configureResponse, getCacheDuration
 
Methods inherited from class org.apache.wicket.Resource
getParameters, invalidate, isCacheable, onResourceRequested, setCacheable, setParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BufferedDynamicImageResource

public BufferedDynamicImageResource()
Construct.


BufferedDynamicImageResource

public BufferedDynamicImageResource(java.util.Locale locale)
Construct.

Parameters:
locale -

BufferedDynamicImageResource

public BufferedDynamicImageResource(java.lang.String format,
                                    java.util.Locale locale)
Construct.

Parameters:
format -
locale -

BufferedDynamicImageResource

public BufferedDynamicImageResource(java.lang.String format)
Construct.

Parameters:
format -
Method Detail

setImage

public void setImage(java.awt.image.BufferedImage image)
Parameters:
image - The image to set

getImageData

protected byte[] getImageData()
Description copied from class: DynamicImageResource
Get image data for our dynamic image resource. If the subclass regenerates the data, it should set the lastModifiedTime when it does so. This ensures that image caching works correctly.

Specified by:
getImageData in class DynamicImageResource
Returns:
The image data for this dynamic image


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