org.w3c.jigsaw.frames
Class PostableFrame

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.PostableFrame
Direct Known Subclasses:
CvsFrame, 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
_allowed, 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, 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
 
Fields inherited from class org.w3c.tools.resources.AttributeHolder
attributes, values
 
Constructor Summary
PostableFrame()
           
 
Method Summary
 Reply get(Request request)
          Get this resource body.
 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.
 void setValue(int idx, java.lang.Object value)
          Catch setValue, to maintain cached header values correctness.
 
Methods inherited from class org.w3c.jigsaw.frames.HTTPFrame
addStyleSheet, attributeChanged, browse, checkIfMatch, checkIfModifiedSince, checkIfNoneMatch, checkIfUnmodifiedSince, checkRequest, computeContainerListing, 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, link, lookup, lookupDirectory, lookupFile, lookupOther, lookupResource, options, perform, performFrames, put, putFileResource, putOtherResource, registerOtherResource, registerResource, 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, 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, pickleValues, print, setBoolean, setChar, setDouble, setFloat, setInt, setLong, setString, setValue
 
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.

setValue

public void setValue(int idx,
                     java.lang.Object value)
Catch setValue, to maintain cached header values correctness.
Overrides:
setValue in class HTTPFrame
Parameters:
idx - The index of the attribute to be set.
value - The new value for the attribute.

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