org.w3c.jigsaw.frames
Class RelocateFrame

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.RelocateFrame
All Implemented Interfaces:
java.lang.Cloneable, java.util.EventListener, AttributeChangedListener, FrameEventListener

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

PATH_INFO

public static final java.lang.String PATH_INFO
Name of the state to hold the PATH_INFO in the request.

See Also:
Constant Field Values

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.