|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectrabbit.handler.BaseHandler
rabbit.handler.ImageHandlerBase
public abstract class ImageHandlerBase
This handler first downloads the image runs convert on it and then serves the smaller image.
Nested Class Summary | |
---|---|
static class |
ImageHandlerBase.ImageConversionResult
|
static class |
ImageHandlerBase.ImageSelector
|
Field Summary | |
---|---|
protected boolean |
converted
|
protected File |
convertedFile
|
Fields inherited from class rabbit.handler.BaseHandler |
---|
cacheChannel, clientHandle, con, content, entry, mayCache, mayFilter, request, response, size, tlh, totalRead |
Constructor Summary | |
---|---|
ImageHandlerBase()
For creating the factory. |
|
ImageHandlerBase(Connection con,
TrafficLoggerHandler tlh,
HttpHeader request,
BufferHandle clientHandle,
HttpHeader response,
ResourceSource content,
boolean mayCache,
boolean mayFilter,
long size,
SProperties config,
boolean doConvert,
int minSizeToConvert)
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)
|
void |
closeStreams(Process ps)
|
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()
|
boolean |
getDoConvert()
|
int |
getMinSizeToConvert()
|
void |
handle()
Try to convert the image before letting the superclass handle it. |
protected abstract ImageHandlerBase.ImageConversionResult |
internalConvertImage(String entryName)
Perform the actual image conversion. |
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. |
protected void |
selectImage(String entryName,
ImageHandlerBase.ImageSelector is,
ImageHandlerBase.ImageConversionResult icr)
|
void |
setDoConvert(boolean doConvert)
|
void |
setup(SProperties prop)
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, getNewInstance, httpHeaderSent, mayTransfer, prepare, prepareStream, 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 boolean converted
protected File convertedFile
Constructor Detail |
---|
public ImageHandlerBase()
public ImageHandlerBase(Connection con, TrafficLoggerHandler tlh, HttpHeader request, BufferHandle clientHandle, HttpHeader response, ResourceSource content, boolean mayCache, boolean mayFilter, long size, SProperties config, boolean doConvert, int minSizeToConvert)
con
- the Connection handling the request.request
- the actual request made.clientHandle
- the client side buffer.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.Method Detail |
---|
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() throws IOException
IOException
protected void readImage() throws IOException
IOException
- if reading of the image fails.public void closeStreams(Process ps) throws IOException
IOException
protected void convertImage()
IOException
- if conversion fails.protected abstract ImageHandlerBase.ImageConversionResult internalConvertImage(String entryName) throws IOException
entryName
- the filename of the cache entry to use.
IOException
protected void selectImage(String entryName, ImageHandlerBase.ImageSelector is, ImageHandlerBase.ImageConversionResult icr) throws IOException
IOException
protected String checkFileType(File typeFile) throws IOException
IOException
public void setDoConvert(boolean doConvert)
public boolean getDoConvert()
public SProperties getConfig()
public int getMinSizeToConvert()
public void setup(SProperties prop)
HandlerFactory
setup
in interface HandlerFactory
setup
in class BaseHandler
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |