## 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 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:
`ReplyInterface` | `outgoingFilter(RequestInterface req, 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, isUnloaded, 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 ResourceFrame

### getMimeTypes

    public MimeType[] getMimeTypes()

  Get the set of MIME types to match:
  Returns:
    An array of MimeType instances.

### outgoingFilter

    public ReplyInterface outgoingFilter(RequestInterface req,
                                         ReplyInterface rep)
                                  throws ProtocolException

  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.
  Overrides:
    outgoingFilter in class ResourceFilter