org.w3c.jigsaw.filters
Class GZIPFilter

java.lang.Object
  |
  +--org.w3c.tools.resources.AttributeHolder
        |
        +--org.w3c.tools.resources.Resource
              |
              +--org.w3c.tools.resources.FramedResource
                    |
                    +--org.w3c.tools.resources.ResourceFrame
                          |
                          +--org.w3c.tools.resources.ResourceFilter
                                |
                                +--org.w3c.jigsaw.filters.GZIPFilter

public class GZIPFilter
extends org.w3c.tools.resources.ResourceFilter

This filter will compress the content of replies using GZIP. Compression is done on the fly. This assumes that you're really on a slow link, where you have lots of CPU, but not much bandwidth.

A nifty usage for that filter, is to plug it on top of a org.w3c.jigsaw.proxy.ProxyDirectory, in which case it will compress the data when it flies out of the proxy.


Field Summary
protected static int ATTR_MIME_TYPES
          Attribute index - List of MIME type that we can compress
protected  MimeType[] types
          The set of MIME types we are allowed to compress.
 
Fields inherited from class org.w3c.tools.resources.ResourceFrame
filterClass, frameListener, resource
 
Fields inherited from class org.w3c.tools.resources.FramedResource
ATTR_OID, attrListener, debugEvent, event_disabled, framesRef, structListener
 
Fields inherited from class org.w3c.tools.resources.Resource
ATTR_CONTEXT, ATTR_HELP_URL, ATTR_IDENTIFIER, ATTR_LAST_MODIFIED, ATTR_PARENT, ATTR_RESOURCE_FRAMES, ATTR_STORE_ENTRY, ATTR_URL
 
Fields inherited from class org.w3c.tools.resources.AttributeHolder
attributes, slowpickle, values
 
Constructor Summary
GZIPFilter()
           
 
Method Summary
 MimeType[] getMimeTypes()
          Get the set of MIME types to match:
 org.w3c.tools.resources.ReplyInterface outgoingFilter(org.w3c.tools.resources.RequestInterface req, org.w3c.tools.resources.ReplyInterface rep)
           
 void setValue(int idx, java.lang.Object value)
          Catch the setting of mime types to compress.
 
Methods inherited from class org.w3c.tools.resources.ResourceFilter
exceptionFilter, getTargetResource, ingoingFilter, ingoingFilter, lookup, outgoingFilter, outputFilter
 
Methods inherited from class org.w3c.tools.resources.ResourceFrame
addFrameEventListener, attributeChanged, checkRequest, eventDisabled, fireFrameEvent, frameModified, getFilters, getFilters, getFrameReference, getResource, getResourceReference, getSpaceEntry, getURLPath, lookupFilters, lookupFrames, perform, postFrameEvent, processEvent, registerResource, removeFrameEventListener, unregisterResource, updateDefaultChildAttributes
 
Methods inherited from class org.w3c.tools.resources.FramedResource
addAttributeChangedListener, addStructureChangedListener, collectFramesReference, delete, disableEvent, displayEvent, enableEvent, fireAttributeChangeEvent, fireStructureChangedEvent, fireStructureChangedEvent, frameAdded, frameRemoved, getClone, getFrame, getFrame, getFrameReference, getFrameReference, getFramesReference, getOid, initialize, markModified, notifyUnload, performFrames, postAttributeChangeEvent, postEvent, postStructureChangedEvent, postStructureChangedEvent, registerFrame, registerFrameIfNone, removeAttributeChangedListener, removeStructureChangedListener, unregisterFrame
 
Methods inherited from class org.w3c.tools.resources.Resource
acceptUnload, checkMultipleLock, collectFrames, getContext, getFrame, getFrames, getHelpURL, getHelpURL, getIdentifier, getLastModified, getParent, getServer, getSpace, getStoreEntry, getValue, getValue, isInitialized, setContext, setContext, setValue, updateAttributes
 
Methods inherited from class org.w3c.tools.resources.AttributeHolder
definesAttribute, definesAttribute, getAttributes, getBoolean, getChar, getClone, getClone, getDouble, getFloat, getInt, getLong, getString, getValue, initialize, lookupAttribute, pickle, print, setBoolean, setChar, setDouble, setFloat, setInt, setLong, setString, setValue, unpickle, unpickle, unpickle, unpickleInstance, unpickleInstance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ATTR_MIME_TYPES

protected static int ATTR_MIME_TYPES
Attribute index - List of MIME type that we can compress

types

protected MimeType[] types
The set of MIME types we are allowed to compress.
Constructor Detail

GZIPFilter

public GZIPFilter()
Method Detail

setValue

public void setValue(int idx,
                     java.lang.Object value)
Catch the setting of mime types to compress.
Parameters:
idx - The attribute being set.
val - The new attribute value.
Overrides:
setValue in class org.w3c.tools.resources.ResourceFrame

getMimeTypes

public MimeType[] getMimeTypes()
Get the set of MIME types to match:
Returns:
An array of MimeType instances.

outgoingFilter

public org.w3c.tools.resources.ReplyInterface outgoingFilter(org.w3c.tools.resources.RequestInterface req,
                                                             org.w3c.tools.resources.ReplyInterface rep)
                                                      throws org.w3c.tools.resources.ProtocolException
Parameters:
request - The original request.
reply - It's original reply.
Returns:
A Reply instance, or null if processing should continue normally.
Throws:
org.w3c.tools.resources.ProtocolException - If processing should be interrupted, because an abnormal situation occured.
Overrides:
outgoingFilter in class org.w3c.tools.resources.ResourceFilter