pulse - the web application framework Get pulse at SourceForge.net. Fast, secure and Free Open Source software downloads Ohloh project report for pulse-java

org.torweg.pulse.service.event
Class RedirectEvent

java.lang.Object
  extended by org.torweg.pulse.service.event.RedirectEvent
All Implemented Interfaces:
Event

public class RedirectEvent
extends java.lang.Object
implements Event

redirects to a given URL using a permantent redirect ( 301 Moved Permanently) as the default.

Temporary redirects can be enabled by calling setTemporaryRedirect(boolean).

Version:
$Revision: 1393 $
Author:
Thomas Weber, Daniel Dietz

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.torweg.pulse.service.event.Event
Event.Disposition
 
Constructor Summary
RedirectEvent(ServiceRequest req)
          used by the search engine filter of the ServiceRequestImpl to send redirects to search engines that request sessions.
RedirectEvent(java.lang.String str)
          builds a new RedirectEvent.
RedirectEvent(java.net.URL dest)
          builds a new RedirectEvent.
 
Method Summary
 CacheMode getCacheMode()
          returns the CacheMode.
 boolean isOutputEvent()
          Indicates if this Event will write to the OutputStream and so render the OutputStream unwritable for future results.
 boolean isSingularEvent()
          Indicates that the Event will only be added once to the EventManager and block all other Events.
 boolean isStopEvent()
          Indicates if the Invoker should proceed executing other bundles or if it should terminate after executing this Event .
static void redirectPermanently(javax.servlet.http.HttpServletResponse response, java.lang.String location)
          sends a permanent redirect (301 Moved permanently) to the given location.
 void run(ServiceRequest req)
          will be called by the event processor.
 void setCacheMode(CacheMode c)
          sets the CacheMode.
 void setTemporaryRedirect(boolean b)
          sets whether the redirect is a temporary redirect.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RedirectEvent

public RedirectEvent(java.net.URL dest)
builds a new RedirectEvent.

Parameters:
dest - destination

RedirectEvent

public RedirectEvent(java.lang.String str)
builds a new RedirectEvent.

Parameters:
str - the URL to redirect to

RedirectEvent

public RedirectEvent(ServiceRequest req)
used by the search engine filter of the ServiceRequestImpl to send redirects to search engines that request sessions.

Parameters:
req - the service request
Method Detail

redirectPermanently

public static final void redirectPermanently(javax.servlet.http.HttpServletResponse response,
                                             java.lang.String location)
sends a permanent redirect (301 Moved permanently) to the given location.

Parameters:
response - the response for sending the redirect
location - the location for the redirect (must be an absolute URI per RFC 2616)

setTemporaryRedirect

public final void setTemporaryRedirect(boolean b)
sets whether the redirect is a temporary redirect.

Parameters:
b - true, if the redirect shall be temporary

run

public final void run(ServiceRequest req)
Description copied from interface: Event
will be called by the event processor.

Specified by:
run in interface Event
Parameters:
req - the current request
See Also:
Event.run(org.torweg.pulse.service.request.ServiceRequest)

isOutputEvent

public final boolean isOutputEvent()
Description copied from interface: Event
Indicates if this Event will write to the OutputStream and so render the OutputStream unwritable for future results.

Please note: After writing to the OutputStream it should be flushed and closed.

Specified by:
isOutputEvent in interface Event
Returns:
true
See Also:
Event.isOutputEvent()

isStopEvent

public final boolean isStopEvent()
Description copied from interface: Event
Indicates if the Invoker should proceed executing other bundles or if it should terminate after executing this Event .

Specified by:
isStopEvent in interface Event
Returns:
true
See Also:
Event.isStopEvent()

isSingularEvent

public final boolean isSingularEvent()
Description copied from interface: Event
Indicates that the Event will only be added once to the EventManager and block all other Events.

If an Event of the same type has already been added to the EventManager, subsequent calls to EventManager.addEvent(Event) will return without adding the given Event.

Specified by:
isSingularEvent in interface Event
Returns:
true
See Also:
Event.isSingularEvent()

getCacheMode

public final CacheMode getCacheMode()
returns the CacheMode.

Specified by:
getCacheMode in interface Event
Returns:
the cache mode
See Also:
Event.getCacheMode()

setCacheMode

public final void setCacheMode(CacheMode c)
sets the CacheMode.

Specified by:
setCacheMode in interface Event
Parameters:
c - the cache mode to set
See Also:
Event.setCacheMode(org.torweg.pulse.service.request.CacheMode)