org.apache.wicket.request.resource
Class BaseDataResource<T>

java.lang.Object
  extended by org.apache.wicket.request.resource.AbstractResource
      extended by org.apache.wicket.request.resource.BaseDataResource<T>
Type Parameters:
T - The type of the data this resource can deliver
All Implemented Interfaces:
Serializable, IResource, IClusterable
Direct Known Subclasses:
ByteArrayResource, CharSequenceResource

public abstract class BaseDataResource<T>
extends AbstractResource

An abstract resource that can deliver static data - passed to the constructor, or dynamic - returned by getData(org.apache.wicket.request.resource.IResource.Attributes)

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.wicket.request.resource.AbstractResource
AbstractResource.ResourceResponse, AbstractResource.WriteCallback
 
Nested classes/interfaces inherited from interface org.apache.wicket.request.resource.IResource
IResource.Attributes
 
Field Summary
 
Fields inherited from class org.apache.wicket.request.resource.AbstractResource
INTERNAL_HEADERS
 
Constructor Summary
BaseDataResource(String contentType)
          Creates a BaseDataResource which will provide its data dynamically with getData(org.apache.wicket.request.resource.IResource.Attributes)
BaseDataResource(String contentType, T data)
          Creates a Resource from the given data with its content type
BaseDataResource(String contentType, T data, String filename)
          Creates a Resource from the given data with its content type and filename
 
Method Summary
protected  void configureResponse(AbstractResource.ResourceResponse response, IResource.Attributes attributes)
          Post-configures the given response, e.g.
protected  T getData(IResource.Attributes attributes)
          Gets the data for this resource.
protected abstract  Long getLength(T data)
           
protected  AbstractResource.ResourceResponse newResourceResponse(IResource.Attributes attributes)
          Override this method to return a AbstractResource.ResourceResponse for the request.
protected abstract  void writeData(Response response, T data)
          Writes the given data to the response
 
Methods inherited from class org.apache.wicket.request.resource.AbstractResource
configureCache, flushResponseAfterHeaders, getCachingStrategy, respond, setResponseHeaders
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseDataResource

public BaseDataResource(String contentType)
Creates a BaseDataResource which will provide its data dynamically with getData(org.apache.wicket.request.resource.IResource.Attributes)

Parameters:
contentType - The Content type of the array.

BaseDataResource

public BaseDataResource(String contentType,
                        T data)
Creates a Resource from the given data with its content type

Parameters:
contentType - The Content type of the array.
data - The data

BaseDataResource

public BaseDataResource(String contentType,
                        T data,
                        String filename)
Creates a Resource from the given data with its content type and filename

Parameters:
contentType - The Content type of the array.
data - The data
filename - The filename that will be set as the Content-Disposition header.
Method Detail

configureResponse

protected void configureResponse(AbstractResource.ResourceResponse response,
                                 IResource.Attributes attributes)
Post-configures the given response, e.g. set/override response headers.

Parameters:
response - The response to configure
attributes - The request attributes (web request, web response, parameters)

newResourceResponse

protected AbstractResource.ResourceResponse newResourceResponse(IResource.Attributes attributes)
Description copied from class: AbstractResource
Override this method to return a AbstractResource.ResourceResponse for the request.

Specified by:
newResourceResponse in class AbstractResource
Parameters:
attributes - request attributes
Returns:
resource data instance

writeData

protected abstract void writeData(Response response,
                                  T data)
Writes the given data to the response

Parameters:
response - The response to write to
data - The data to write

getLength

protected abstract Long getLength(T data)
Parameters:
data - The data to be written
Returns:
The length of the data to be written. Used to set "Content-Length" response header

getData

protected T getData(IResource.Attributes attributes)
Gets the data for this resource.

Parameters:
attributes - the context bringing the request, response and the parameters
Returns:
The data for this resource


Copyright © 2006–2016 Apache Software Foundation. All rights reserved.