org.w3c.jigsaw.frames
Class HTTPExtFrame

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.ProtocolFrame
                      extended by org.w3c.jigsaw.frames.HTTPFrame
                          extended by org.w3c.jigsaw.frames.HTTPExtFrame
All Implemented Interfaces:
java.lang.Cloneable, java.util.EventListener, AttributeChangedListener, FrameEventListener
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, unsafeGetQuality, 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, 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

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