## 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.

NOTE that as it change the Content-Encoding of the served content, it MUST NOT be used on a proxy or a proxy/cache..

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
`GZIPFilter()`

Method Summary
`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, unsafeGetIdentifier, 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, 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

### GZIPFilter

    public GZIPFilter()

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.

### 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.