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

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