|
||||||||||
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 handler first downloads the image runs convert on it and then serves the smaller image.
Field Summary | |
---|---|
protected File |
convertedFile
|
Fields inherited from class rabbit.handler.BaseHandler |
---|
cacheChannel, con, content, entry, mayCache, mayFilter, request, response, size, tlh, totalRead |
Constructor Summary | |
---|---|
ImageHandler()
For creating the factory. |
|
ImageHandler(Connection con,
TrafficLoggerHandler tlh,
HttpHeader request,
HttpHeader response,
ResourceSource content,
boolean mayCache,
boolean mayFilter,
long size,
SProperties config,
boolean doConvert,
int minSizeToConvert,
ImageConverter imageConverter)
Create a new ImageHandler for the given request. |
Method Summary | |
---|---|
protected void |
addCache()
Set up the cache stream if available. |
boolean |
changesContentSize()
®return true this handler modifies the content. |
protected String |
checkFileType(File typeFile)
|
protected void |
convertImage()
Convert the image into a small low quality image (normally a jpeg). |
protected void |
finish(boolean good)
clear up the mess we made (remove intermediate files etc). |
SProperties |
getConfig()
Get the current configuration of this handler |
boolean |
getDoConvert()
Get the convert flag |
int |
getMinSizeToConvert()
Only try to convert images larger than this size |
Handler |
getNewInstance(Connection con,
TrafficLoggerHandler tlh,
HttpHeader header,
HttpHeader webHeader,
ResourceSource content,
boolean mayCache,
boolean mayFilter,
long size)
Get a new Handler for the given request made. |
void |
handle()
Try to convert the image before letting the superclass handle it. |
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()
Remove the cachestream and the cache entry. |
void |
setDoConvert(boolean doConvert)
Śet the convert flag |
void |
setup(SProperties prop,
HttpProxy proxy)
setup the handler factory. |
protected void |
tryconvert()
Try to convert the image. |
Methods inherited from class rabbit.handler.BaseHandler |
---|
blockSent, bufferRead, deleteFile, failed, finishData, finishedRead, getLogger, httpHeaderSent, mayTransfer, prepare, send, sendHeader, setPartialContent, timeout, writeCache |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected File convertedFile
Constructor Detail |
---|
public ImageHandler()
public ImageHandler(Connection con, TrafficLoggerHandler tlh, HttpHeader request, HttpHeader response, ResourceSource content, boolean mayCache, boolean mayFilter, long size, SProperties config, boolean doConvert, int minSizeToConvert, ImageConverter imageConverter)
con
- the Connection handling the request.tlh
- the logger for the data trafficrequest
- the actual request made.response
- the actual response.content
- the resource.mayCache
- May we cache this request?mayFilter
- May we filter this request?size
- the size of the data beeing handled.config
- the configuration of this handlerdoConvert
- image comprssion will only be attempted if trueminSizeToConvert
- images less than this many bytes are not compressedimageConverter
- the actual converter to useMethod Detail |
---|
public Handler getNewInstance(Connection con, TrafficLoggerHandler tlh, HttpHeader header, HttpHeader webHeader, ResourceSource content, boolean mayCache, boolean mayFilter, long size)
HandlerFactory
getNewInstance
in interface HandlerFactory
getNewInstance
in class BaseHandler
con
- the Connection handling the request.tlh
- the Traffic logger handler.header
- the request.webHeader
- the response.content
- the resource.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).
public boolean changesContentSize()
changesContentSize
in interface Handler
changesContentSize
in class BaseHandler
protected boolean mayCacheFromSize()
mayCacheFromSize
in class BaseHandler
protected boolean mayRestrictCacheSize()
mayRestrictCacheSize
in class BaseHandler
public void handle()
handle
in interface Handler
handle
in class BaseHandler
protected void addCache()
BaseHandler
addCache
in class BaseHandler
protected void finish(boolean good)
finish
in class BaseHandler
good
- if true then the connection may be restarted,
if false then the connection may not be restaredprotected void removeCache()
removeCache
in class BaseHandler
protected void tryconvert()
protected void readImage()
protected void convertImage()
protected String checkFileType(File typeFile) throws IOException
IOException
public void setDoConvert(boolean doConvert)
doConvert
- if true then image conversion will be triedpublic boolean getDoConvert()
public SProperties getConfig()
public int getMinSizeToConvert()
public void setup(SProperties prop, HttpProxy proxy)
HandlerFactory
setup
in interface HandlerFactory
setup
in class BaseHandler
prop
- the properties for this factoryproxy
- the HttpProxy using this HandlerFactory
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |