## 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_CONTENT_ENCODING, ATTR_CONTENT_LANGUAGE, ATTR_CONTENT_LENGTH, ATTR_CONTENT_TYPE, ATTR_ICON, ATTR_ICONDIR, ATTR_INDEX, 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, slowpickle, 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, computeTrashDir, computeTrashFile, createDefaultReply, createFileReply, delete, deleteDirectoryResource, deleteFileResource, deleteOtherResource, extended, getAllowDeleteFlag, getBrowsableFlag, getBrowseType, getContentEncoding, getContentLanguage, getContentLength, getContentType, getDirectoryListing, getDirectoryResource, getDirectoryResource, getETag, getFileResource, getFileResource, getHelpURL, getHelpURL, getIcon, getIconDirectory, getIndex, 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, 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, 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_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.
  Parameters:
    `idx` - The index of the attribute to be set.
    `value` - The new value for the attribute.
  Overrides:
    setValue in class HTTPFrame

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

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

### post

    public Reply post(Request request)
               throws ProtocolException,
                      ResourceException

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

### 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`