org.w3c.jigsaw.frames
Class PostableFrame

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.PostableFrame
All Implemented Interfaces:
java.lang.Cloneable, java.util.EventListener, AttributeChangedListener, FrameEventListener
Direct Known Subclasses:
CvsFrame, DAVFrame, GeneratedFrame, LabelBureauFrame, PasswordEditorFrame, PutListFrame, SeeOtherFrame, ToolsListerFrame

public class PostableFrame
extends HTTPFrame

Handle POST.


Field Summary
protected static int ATTR_CONVERT_GET
          Attribute index - Should we silently convert GET to POST methods ?
protected static int ATTR_OVERIDE
          Attribute index - Should we override form values when multiple ?
 
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
PostableFrame()
           
 
Method Summary
 Reply get(Request request)
          Get this resource body.
protected  HttpTokenList getAllow()
          get the Allowed methods for this resource
 boolean getConvertGetFlag()
          Get the 'convert GET to POST' flag.
 boolean getOverrideFlag()
          Get the 'override multiple form field value' flag.
 Reply handle(Request request, URLDecoder data)
          Handle the form submission, after posted data parsing.
 Reply post(Request request)
          Perform the post method.
 
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, extended, 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, 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

ATTR_OVERIDE

protected static int ATTR_OVERIDE
Attribute index - Should we override form values when multiple ?


ATTR_CONVERT_GET

protected static int ATTR_CONVERT_GET
Attribute index - Should we silently convert GET to POST methods ?

Constructor Detail

PostableFrame

public PostableFrame()
Method Detail

getConvertGetFlag

public boolean getConvertGetFlag()
Get the 'convert GET to POST' flag.


getOverrideFlag

public boolean getOverrideFlag()
Get the 'override multiple form field value' flag.


getAllow

protected HttpTokenList getAllow()
get the Allowed methods for this resource

Overrides:
getAllow in class HTTPFrame
Returns:
an HttpTokenList

get

public Reply get(Request request)
          throws ProtocolException,
                 ResourceException
Get this resource body. If we are allowed to convert GET requests to POST, than we first check to see if there is some search string in the request, and continue with normal POST request processing.

If there is no search string, or if we are not allowed to convert GETs to POSTs, than we just invoke our super method, which will perform the appropriate job.

Overrides:
get in class HTTPFrame
Parameters:
request - The request to handle.
Throws:
ProtocolException - If request couldn't be processed.
ResourceException - If the resource got a fatal error.

post

public Reply post(Request request)
           throws ProtocolException,
                  ResourceException
Perform the post method.

Overrides:
post in class HTTPFrame
Parameters:
request - The request to handle.
Throws:
ProtocolException - If request couldn't be processed.
ResourceException - If the resource got a fatal error.

handle

public Reply handle(Request request,
                    URLDecoder data)
             throws ProtocolException
Handle the form submission, after posted data parsing.

This method ought to be abstract, but for reasonable reason, it will just dump (parsed) the form content back to the client, so that it can be used for debugging.

Parameters:
request - The request proper.
data - The parsed data content.
Throws:
ProtocolException - If form data processing failed.
See Also:
URLDecoder