org.w3c.jigsaw.filters
Class TEFilter

java.lang.Object
  extended by org.w3c.tools.resources.AttributeHolder
      extended by org.w3c.tools.resources.Resource
          extended by org.w3c.tools.resources.FramedResource
              extended by org.w3c.tools.resources.ResourceFrame
                  extended by org.w3c.tools.resources.ResourceFilter
                      extended by org.w3c.jigsaw.filters.TEFilter
All Implemented Interfaces:
java.lang.Cloneable, java.util.EventListener, AttributeChangedListener, FrameEventListener, FilterInterface

public class TEFilter
extends ResourceFilter

This filter will compress the content of replies using GZIP or whatever encoding scheme requested in the TE: header of the request. 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.ProxyFrame, in which case it will encode 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, co, id
 
Fields inherited from class org.w3c.tools.resources.AttributeHolder
attributes, values
 
Constructor Summary
TEFilter()
           
 
Method Summary
protected  void doEncoding(HttpAcceptEncoding enc, Reply reply)
           
protected  double getCompressibilityFactor(Reply reply)
           
 MimeType[] getMimeTypes()
          Get the set of MIME types to match:
 ReplyInterface outgoingFilter(RequestInterface req, ReplyInterface rep)
          Simplified API to the outgoing filter metho.
 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, initialize, lookup, outgoingFilter, outputFilter, pickleValues
 
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, setSilentValue, setSilentValue, 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, isUnloaded, setContext, setContext, setValue, unsafeGetContext, unsafeGetFrame, unsafeGetFrames, unsafeGetIdentifier, unsafeGetResourceReference, unsafeGetURLPath, unsafeGetValue, updateAttributes
 
Methods inherited from class org.w3c.tools.resources.AttributeHolder
definesAttribute, definesAttribute, getAttributes, getBoolean, getChar, getClone, getClone, getDouble, getFloat, getInt, getLong, getString, getValue, lookupAttribute, print, setBoolean, setChar, setDouble, setFloat, setInt, setLong, setString, setValue, unsafeDefinesAttribute, unsafeGetDouble, unsafeGetString
 
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

TEFilter

public TEFilter()
Method Detail

setValue

public void setValue(int idx,
                     java.lang.Object value)
Catch the setting of mime types to compress.

Overrides:
setValue in class ResourceFrame
Parameters:
idx - The attribute being set.
val - The new attribute value.

getMimeTypes

public MimeType[] getMimeTypes()
Get the set of MIME types to match:

Returns:
An array of MimeType instances.

getCompressibilityFactor

protected double getCompressibilityFactor(Reply reply)

doEncoding

protected void doEncoding(HttpAcceptEncoding enc,
                          Reply reply)

outgoingFilter

public ReplyInterface outgoingFilter(RequestInterface req,
                                     ReplyInterface rep)
                              throws ProtocolException
Description copied from class: ResourceFilter
Simplified API to the outgoing filter metho. This is a simplified API to the ougoing filter method, you can either overide this method, or the more powerfull one.

Overrides:
outgoingFilter in class ResourceFilter
Parameters:
request - The original request.
reply - It's original reply.
Returns:
A Reply instance, or null if processing should continue normally.
Throws:
ProtocolException - If processing should be interrupted, because an abnormal situation occured.