## org.w3c.jigsaw.frames
Class HTTPExtFrame

    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.ProtocolFrame
                                    |
                                    +--org.w3c.jigsaw.frames.HTTPFrame
                                          |
                                          +--org.w3c.jigsaw.frames.HTTPExtFrame

Direct Known Subclasses:
  CCPPFrame, ExtFrame

public class HTTPExtFrame
extends HTTPFrame

Field Summary
`protected static java.util.Hashtable` `extensions` Supported extensions

Fields inherited from class org.w3c.jigsaw.frames.HTTPFrame

`acceptRanges, allowed, ATTR_ALLOW_DEL, ATTR_BROWSABLE, ATTR_CHARSET, ATTR_CONTENT_ENCODING, ATTR_CONTENT_LANGUAGE, ATTR_CONTENT_LENGTH, ATTR_CONTENT_TYPE, ATTR_ICON, ATTR_ICONDIR, ATTR_INDEX, ATTR_INDEXES, ATTR_MAXAGE, ATTR_MD5, ATTR_PUTABLE, ATTR_QUALITY, ATTR_RELOCATE, ATTR_STYLE_LINK, ATTR_TITLE, browsetype, COND_FAILED, COND_OK, COND_WEAK, dresource, fresource, listing, listing_stamp, STATE_CONTENT_LOCATION`

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

Method Summary
`protected Reply` `acknowledgeExtension(Request request, Reply reply)` Set the Ext and/or C-Ext Header if necessary.
`void` `checkMandatoryExtension(Request request, java.lang.String mmethod)` Check if the mandatory extensions are supported.
`Reply` `extended(Request request)` The handler for unknown method replies with a not implemented.
`Reply` `mextended(Request request)`
`protected static void` `registerExtension(java.lang.String name, java.lang.String[] methods, java.lang.String classname)` Register a protocol extension name.
`protected static void` `registerExtension(java.lang.String name, java.lang.String method, java.lang.String classname)` Register a protocol extension name.
`protected static boolean` `supportedExtension(java.lang.String name, java.lang.String method, java.lang.Object obj)` Check if an extension is known.

Methods inherited from class org.w3c.jigsaw.frames.HTTPFrame

`addStyleSheet, attributeChanged, browse, checkExpect, checkIfMatch, checkIfModifiedSince, checkIfNoneMatch, checkIfUnmodifiedSince, checkRequest, checkValidators, computeContainerListing, computeETag, computeTrashDir, computeTrashFile, createDefaultReply, createFileReply, delete, deleteDirectoryResource, deleteFileResource, deleteMe, deleteOtherResource, get, getAllow, getAllowDeleteFlag, getBrowsableFlag, getBrowseType, getCharset, getContentEncoding, getContentLanguage, getContentLength, getContentType, getDirectoryListing, getDirectoryResource, getDirectoryResource, getETag, getFileResource, getFileResource, getHelpURL, getHelpURL, getIcon, getIconDirectory, getIndex, getIndexes, getMaxAge, getMD5Flag, getOtherResource, getPutableFlag, getQuality, getRelocateFlag, getStyleSheetURL, getTitle, getURL, handleRangeRequest, head, headDirectoryResource, headFileResource, headOtherResource, initialize, link, lookup, lookupDirectory, lookupFile, lookupOther, lookupResource, options, perform, performFrames, pickleValues, post, put, putFileResource, putOtherResource, registerOtherResource, registerResource, setValue, trace, unlink, updateCachedHeaders`

Methods inherited from class org.w3c.tools.resources.ResourceFrame
`addFrameEventListener, eventDisabled, fireFrameEvent, frameModified, getFilters, getFilters, getFrameReference, getResource, getResourceReference, getSpaceEntry, getURLPath, lookupFilters, lookupFrames, postFrameEvent, processEvent, 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, 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, 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

### extensions

    protected static java.util.Hashtable extensions

  Supported extensions

Constructor Detail

### HTTPExtFrame

    public HTTPExtFrame()

Method Detail

### registerExtension

    protected static final void registerExtension(java.lang.String name,
                                                  java.lang.String[] methods,
                                                  java.lang.String classname)

  Register a protocol extension name.
  Parameters:
    `name` - the extension name (absoluteURI or field-name);
    `methods` - the allowed methods (an array of String)
    `classname` - the associated frame classname.

### registerExtension

    protected static final void registerExtension(java.lang.String name,
                                                  java.lang.String method,
                                                  java.lang.String classname)

  Register a protocol extension name.
  Parameters:
    `name` - the extension name (absoluteURI or field-name);
    `method` - the allowed method
    `classname` - the associated frame classname.

### supportedExtension

    protected static final boolean supportedExtension(java.lang.String name,
                                                      java.lang.String method,
                                                      java.lang.Object obj)

  Check if an extension is known.
  Parameters:
    `name` - the extension name
  Returns:
    a boolean

### extended

    public Reply extended(Request request)
                   throws ProtocolException,
                          ResourceException

  The handler for unknown method replies with a not implemented.
  Overrides:
    extended in class HTTPFrame
  Parameters:
    `request` - The request to handle.
  Throws:
    ProtocolException - If processsing the request failed.
    ResourceException - If the resource got a fatal error.

### acknowledgeExtension

    protected Reply acknowledgeExtension(Request request,
                                         Reply reply)

  Set the Ext and/or C-Ext Header if necessary.
  Parameters:
    `request` - the incomming request.
    `reply` - the reply
  Returns:
    the acknowledged reply instance

### mextended

    public Reply mextended(Request request)
                    throws ProtocolException,
                           ResourceException

### checkMandatoryExtension

    public void checkMandatoryExtension(Request request,
                                        java.lang.String mmethod)
                                 throws ProtocolException

  Check if the mandatory extensions are supported.
  Parameters:
    `request` - The request to handle.
  Throws:
    ProtocolException - thrown when there is one (or more) unsupported extensions or if there is no extension in the M-XXX method.