org.apache.wicket.util.resource
Interface IResourceStream

All Superinterfaces:
java.io.Closeable, IClusterable, IModifiable, java.io.Serializable
All Known Subinterfaces:
IResourceStreamWriter, IStringResourceStream
All Known Implementing Classes:
AbstractResourceStream, AbstractResourceStreamWriter, AbstractStringResourceStream, CssTemplate, FileResourceStream, JavaScriptTemplate, MarkupResourceStream, PackageResourceStream, PackageTextTemplate, StringBufferResourceStream, StringResourceStream, TextTemplate, TextTemplateDecorator, UrlResourceStream, WebExternalResourceStream, XSLTResourceStream, ZipResourceStream

public interface IResourceStream
extends IModifiable, IClusterable, java.io.Closeable

Interface to a streamed resource. The resource stream can be retrieved by calling getInputStream(), but the resource should later be closed by calling close() on the IResourceStream (as opposed to calling close on the InputStream returned by getInputStream()).

Once a resource has been closed with a call to close(), it is normally possible to call getInputStream() again to retrieve a new input stream on the same resource.

Implementations of this interface are typically unsafe for use from multiple threads.

Author:
Jonathan Locke

Method Summary
 void close()
          Closes the resource.
 java.lang.String getContentType()
          Gets the mime type of this resource
 java.io.InputStream getInputStream()
          Gets the resource stream.
 java.util.Locale getLocale()
           
 java.lang.String getStyle()
           
 java.lang.String getVariation()
           
 Bytes length()
          Gets the size of this resource
 void setLocale(java.util.Locale locale)
          This method shouldn't be used from the outside.
 void setStyle(java.lang.String style)
          This method shouldn't be used from the outside.
 void setVariation(java.lang.String variation)
          This method shouldn't be used from the outside.
 
Methods inherited from interface org.apache.wicket.util.watch.IModifiable
lastModifiedTime
 

Method Detail

getContentType

java.lang.String getContentType()
Gets the mime type of this resource

Returns:
The mime type of this resource, such as "image/jpeg" or "text/html". Return null to let ResourceStreamRequestHandler handle the Content-Type automatically
See Also:
WebResponse#detectContentType(org.apache.wicket.RequestCycle, String)

length

Bytes length()
Gets the size of this resource

Returns:
The size of this resource in the number of bytes, or null if unknown

getInputStream

java.io.InputStream getInputStream()
                                   throws ResourceStreamNotFoundException
Gets the resource stream. You should not directly close this stream. Instead call the close() method on IResourceStream.

Returns:
Returns the inputStream.
Throws:
ResourceStreamNotFoundException
See Also:
close()

close

void close()
           throws java.io.IOException
Closes the resource. Normally, this includes closing any underlying input stream returned by getInputStream().

Specified by:
close in interface java.io.Closeable
Throws:
java.io.IOException

getLocale

java.util.Locale getLocale()
Returns:
The Locale where this stream did resolve to

setLocale

void setLocale(java.util.Locale locale)
This method shouldn't be used from the outside. It is used by the Loaders to set the resolved locale.

Parameters:
locale - The Locale where this stream did resolve to.

getStyle

java.lang.String getStyle()
Returns:
The Style where this stream did resolve to

setStyle

void setStyle(java.lang.String style)
This method shouldn't be used from the outside. It is used by the Loaders to set the resolved Style.

Parameters:
style - The style where this stream did resolve to.

getVariation

java.lang.String getVariation()
Returns:
The Variation where this stream did resolve to

setVariation

void setVariation(java.lang.String variation)
This method shouldn't be used from the outside. It is used by the Loaders to set the resolved variation.

Parameters:
variation - The Variation where this stream did resolve to.


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