|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectrabbit.handler.BaseHandler
rabbit.handler.ImageHandler
public class ImageHandler
This class filters images to low quality jpegs.
Field Summary |
---|
Fields inherited from class rabbit.handler.BaseHandler |
---|
cacheStream, clientstream, con, contentstream, entry, maycache, mayfilter, request, response, size |
Fields inherited from interface rabbit.util.Logger |
---|
ALL, DEBUG, ERROR, FATAL, INFO, MSG, WARN |
Constructor Summary | |
---|---|
ImageHandler()
|
|
ImageHandler(Connection con,
HTTPHeader request,
HTTPHeader response,
HTTPInputStream contentstream,
MultiOutputStream clientstream,
boolean maycache,
boolean mayfilter,
long size)
Create a new ImageHansler for the given request. |
Method Summary | |
---|---|
void |
addCacheStream()
Set up the cache stream if available. |
protected void |
convertImage()
Convert the image into a low quality jpeg. |
protected void |
finish()
clear up the mess we made (remove intermediate files etc). |
Handler |
getNewInstance(Connection connection,
HTTPHeader header,
HTTPHeader webheader,
HTTPInputStream contentStream,
MultiOutputStream out,
boolean maycache,
boolean mayfilter,
long size)
Get a new Handler for the given request made. |
protected boolean |
mayCacheFromSize()
Images needs to be cacheable to be compressed. |
protected boolean |
mayRestrictCacheSize()
Check if this handler may force the cached resource to be less than the cache max size. |
protected void |
readImage()
Read in the image |
protected void |
removeCache(java.lang.Exception e)
Remove the cachestream and the cache entry. |
void |
setup(Logger logger,
SProperties prop)
Setup this class. |
protected void |
tryconvert()
Try to convert the image. |
protected void |
writeHeader()
Write the response header |
Methods inherited from class rabbit.handler.BaseHandler |
---|
clientStreamHasCache, finishStream, getFactory, handle, logError, logError, prepareStream, send, setPartialContent, writeData |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ImageHandler()
public ImageHandler(Connection con, HTTPHeader request, HTTPHeader response, HTTPInputStream contentstream, MultiOutputStream clientstream, boolean maycache, boolean mayfilter, long size)
con
- the Connection handling the request.request
- the actual request made.response
- the actual response.contentstream
- the stream to read data from.clientstream
- the stream to write data to.maycache
- May we cache this request?mayfilter
- May we filter this request?size
- the size of the data beeing handled.Method Detail |
---|
public Handler getNewInstance(Connection connection, HTTPHeader header, HTTPHeader webheader, HTTPInputStream contentStream, MultiOutputStream out, boolean maycache, boolean mayfilter, long size)
HandlerFactory
getNewInstance
in interface HandlerFactory
getNewInstance
in class BaseHandler
connection
- the Connection handling the request.header
- the request.webheader
- the response.contentStream
- the data to read.out
- the client (and possibly the cache).maycache
- if the handler may cache the response.mayfilter
- if the handler may filter the response.size
- the Size of the data beeing handled (-1 = unknown length).protected boolean mayCacheFromSize()
mayCacheFromSize
in class BaseHandler
protected boolean mayRestrictCacheSize()
mayRestrictCacheSize
in class BaseHandler
protected void readImage() throws java.io.IOException
java.io.IOException
- if reading of the image fails.protected void convertImage() throws java.io.IOException
java.io.IOException
- if conversion fails.protected void tryconvert() throws java.io.IOException
java.io.IOException
protected void writeHeader() throws java.io.IOException
writeHeader
in class BaseHandler
java.io.IOException
- if writing the response fails.public void addCacheStream() throws java.io.IOException
addCacheStream
in class BaseHandler
java.io.IOException
- if a cachestream couldnt be set up.protected void finish() throws java.io.IOException
finish
in class BaseHandler
java.io.IOException
- if cleaning fails.protected void removeCache(java.lang.Exception e)
removeCache
in class BaseHandler
e
- the Exception that happenedpublic void setup(Logger logger, SProperties prop)
setup
in interface HandlerFactory
setup
in class BaseHandler
prop
- the properties of this class.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |