## org.w3c.jigsaw.frames
Class RelocateFrame

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

public class RelocateFrame
extends HTTPFrame

Emit a HTTP redirect.

Field Summary
`protected static int` `ATTR_HANDLE_PATHINFO` Attribute index - Should we also handle extra path infos ?
`protected static int` `ATTR_LOCATION` Attribute index - The relocation location.
`protected static int` `ATTR_METHODS` Attribute index - The methods affected by this frame
`protected static int` `ATTR_PERMANENT_REDIRECT` Attribute index - Is the relocation permanent?
`protected static int` `ATTR_USE_302` Attribute index - SHould we use the ambiguous 302?
`static java.lang.String` `PATH_INFO` Name of the state to hold the PATH_INFO in the request.

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
`RelocateFrame()`

Method Summary
`boolean` `checkHandlePathInfo()` Get the path info value
`boolean` `checkPermanentRedirect()` Get the permanent redirect flag
`boolean` `checkUse302()` Get the "use ambigous 302 response code" flag
`Reply` `get(Request request)` The GET method, may emit a redirect
`java.lang.String` `getLocation()` Get the location for the relocation
`java.lang.String[]` `getMethods()` Get the list of methods affected by the redirect
`Reply` `head(Request request)` The HEAD method, may emit a redirect
`protected boolean` `lookupResource(LookupState ls, LookupResult lr)` Lookup the target resource (dispath to more specific lookup methods).
`Reply` `post(Request request)` The POST method, may emit a redirect, otherwise uses its parent put
`Reply` `put(Request request)` The PUT method, may emit a redirect, otherwise uses its parent put

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, 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, headDirectoryResource, headFileResource, headOtherResource, initialize, link, lookup, lookupDirectory, lookupFile, lookupOther, options, perform, performFrames, pickleValues, 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

### PATH_INFO

    public static final java.lang.String PATH_INFO

  Name of the state to hold the PATH_INFO in the request.

### ATTR_LOCATION

    protected static int ATTR_LOCATION

  Attribute index - The relocation location.

### ATTR_HANDLE_PATHINFO

    protected static int ATTR_HANDLE_PATHINFO

  Attribute index - Should we also handle extra path infos ?

### ATTR_PERMANENT_REDIRECT

    protected static int ATTR_PERMANENT_REDIRECT

  Attribute index - Is the relocation permanent?

### ATTR_USE_302

    protected static int ATTR_USE_302

  Attribute index - SHould we use the ambiguous 302?

### ATTR_METHODS

    protected static int ATTR_METHODS

  Attribute index - The methods affected by this frame

Constructor Detail

### RelocateFrame

    public RelocateFrame()

Method Detail

### getLocation

    public java.lang.String getLocation()

  Get the location for the relocation
  Returns:
    a string, containing the relative path or absolute

### getMethods

    public java.lang.String[] getMethods()

  Get the list of methods affected by the redirect
  Returns:
    An array of String giving the name of the redirected methods, or null, in wich case all methods are to be redirected.

### checkHandlePathInfo

    public boolean checkHandlePathInfo()

  Get the path info value
  Returns:
    a boolean

### checkPermanentRedirect

    public boolean checkPermanentRedirect()

  Get the permanent redirect flag
  Returns:
    a boolean

### checkUse302

    public boolean checkUse302()

  Get the "use ambigous 302 response code" flag
  Returns:
    a boolean

### lookupResource

    protected boolean lookupResource(LookupState ls,
                                     LookupResult lr)
                              throws ProtocolException

  Lookup the target resource (dispath to more specific lookup methods).
  Overrides:
    lookupResource in class HTTPFrame
  Parameters:
    `ls` - The current lookup state
    `lr` - The result
  Returns:
    true if lookup is done.
  Throws:
    ProtocolException - If an error relative to the protocol occurs
  See Also:
    `HTTPFrame.lookupDirectory(org.w3c.tools.resources.LookupState, org.w3c.tools.resources.LookupResult)`, `HTTPFrame.lookupFile(org.w3c.tools.resources.LookupState, org.w3c.tools.resources.LookupResult)`, `HTTPFrame.lookupOther(org.w3c.tools.resources.LookupState, org.w3c.tools.resources.LookupResult)`

### get

    public Reply get(Request request)
              throws ProtocolException,
                     ResourceException

  The GET method, may emit a redirect
  Overrides:
    get in class HTTPFrame
  Parameters:
    `request` - The request to handle.
  Throws:
    ProtocolException - If processsing the request failed.
    ResourceException - If the resource got a fatal error.

### head

    public Reply head(Request request)
               throws ProtocolException,
                      ResourceException

  The HEAD method, may emit a redirect
  Overrides:
    head in class HTTPFrame
  Parameters:
    `request` - The request to handle.
  Throws:
    ProtocolException - If processsing the request failed.
    ResourceException - If the resource got a fatal error.

### put

    public Reply put(Request request)
              throws ProtocolException,
                     ResourceException

  The PUT method, may emit a redirect, otherwise uses its parent put
  Overrides:
    put in class HTTPFrame
  Parameters:
    `request` - The request to handle.
  Throws:
    ProtocolException - If processsing the request failed.
    ResourceException - If the resource got a fatal error.

### post

    public Reply post(Request request)
               throws ProtocolException,
                      ResourceException

  The POST method, may emit a redirect, otherwise uses its parent put
  Overrides:
    post in class HTTPFrame
  Parameters:
    `request` - The request to handle.
  Throws:
    ProtocolException - If processsing the request failed.
    ResourceException - If the resource got a fatal error.