## org.w3c.jigsaw.pics
Class PICSFilter

    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.pics.PICSFilter

public class PICSFilter
extends ResourceFilter

This package implements a PICS filter. The PICS filters allows server administrator to rate the documents they deliver. The references for this protocol is here.

The PICS filter defines the following attributes:

The list of parameters
Parameter name | Semantics | Default value | Type
--- | --- | --- | ---
bureau | The label bureau to query for this entity labels. | none | java.lang.String

Field Summary
`protected static int` | `ATTR_BUREAU_IDENTIFIER` Attribute index - The identifier of our bureau.
`protected LabelBureauInterface` | `bureau` Our loaded lable bureau.

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

Method Summary
`protected void` | `acquireBureau()` Make sure our label bureau is loaded.
`java.io.File` | `getBureauIdentifier()` Get our label bureau identifier.
`void` | `initialize(java.lang.Object[] values)`
`protected HttpBag` | `isPICSQuery(Request request)` Check the query to examine if it requires some PICS handling.
`ReplyInterface` | `outgoingFilter(RequestInterface req, ReplyInterface rep)` The outgoingFilter method.

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, setValue, 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, 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_BUREAU_IDENTIFIER

    protected static int ATTR_BUREAU_IDENTIFIER

  Attribute index - The identifier of our bureau.

### bureau

    protected LabelBureauInterface bureau

  Our loaded lable bureau.

Constructor Detail

### PICSFilter

    public PICSFilter()

Method Detail

### getBureauIdentifier

    public java.io.File getBureauIdentifier()

  Get our label bureau identifier.

### acquireBureau

    protected final void acquireBureau()

  Make sure our label bureau is loaded.

### isPICSQuery

    protected HttpBag isPICSQuery(Request request)
                           throws HTTPException

  Check the query to examine if it requires some PICS handling. If this is the case, it returns a Bag object corresponding to the part of the Accept-Protocol header that relates with PICS.
  Parameters:
    `request` - The request to be checked.
  Returns:
    A Bag object if PICS handling required, <string>null otherwise.
  Throws:
    HTTPException - if processing the request failed.

### outgoingFilter

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

  The outgoingFilter method. This method is the one that gets called by Jigsaw core. By default it will call the simpler `outgoingFilter` method that takes only the request and the reply as parameters.
  Parameters:
    `request` - The request that has been processed.
    `reply` - The original reply as emitted by the resource.
    `filters` - The whole filter that applies to the resource.
    `i` - The current index of filters. The i filter is ourself, filters with lower indexes have already been applied, and filters with greater indexes are still to be applied.
  Returns:
    A Reply instance, if that filter know how to complete the request processing, or null if reminaing filters are to be called by Jigsaw engine.
  Throws:
    HTTPException - If processing should be interrupted, because an abnormal situation occured.
  Overrides:
    outgoingFilter in class ResourceFilter

### initialize

    public void initialize(java.lang.Object[] values)

  Overrides:
    initialize in class FramedResource