org.apache.myfaces.trinidad.context
Class RequestContext

java.lang.Object
  extended by org.apache.myfaces.trinidad.context.RequestContext

public abstract class RequestContext
extends java.lang.Object

Context class for all per-request and per-webapp information required by Trinidad. A RequestContext object can be retrieved with the static getCurrentInstance() method. There is one and only one RequestContext object active in any one thread.

This class does not extend FacesContext; this is intentional, as extending FacesContext requires taking over the FacesContextFactory.


Nested Class Summary
static class RequestContext.Accessibility
           
static class RequestContext.ClientValidation
           
 
Field Summary
static java.lang.String VARIABLE_NAME
          Name of the EL implicit variable ("requestContext") that is used to expose this context object.
 
Constructor Summary
protected RequestContext()
          Creates an RequestContext.
 
Method Summary
abstract  void addPartialTarget(javax.faces.component.UIComponent newTarget)
          Add a component as a partial target.
abstract  void addPartialTargets(javax.faces.component.UIComponent from, java.lang.String... targets)
          Add components relative to the given component as partial targets.
abstract  void addPartialTriggerListeners(javax.faces.component.UIComponent listener, java.lang.String[] trigger)
          Adds a listener on a set of particular triggering components.
 void attach()
          Attaches a RequestContext to the current thread.
abstract  RequestContext.Accessibility getAccessibilityMode()
          Returns the name of the current accessibility mode.
abstract  AccessibilityProfile getAccessibilityProfile()
          Returns the accessibility profile for the current request.
abstract  Agent getAgent()
          Returns the Agent information for the current context
 java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> getApplicationScopedConcurrentMap()
          Gets a per application concurrent map.
abstract  ChangeManager getChangeManager()
          Gets the ChangeManager for the current application.
abstract  RequestContext.ClientValidation getClientValidation()
          Returns the name of the current client validation mode.
abstract  java.util.Map<java.lang.String,java.util.List<java.awt.Color>> getColorPalette()
          Returns a Map that takes color palette names as keys, and returns the color palette as a result.
abstract  java.lang.String getCurrencyCode()
          Return the ISO 4217 currency code used by default for formatting currency fields when those fields do not specify an explicit currency field via their converter.
static RequestContext getCurrentInstance()
          Retrieves the RequestContext active for the current thread.
abstract  char getDecimalSeparator()
          Return the separator used as the decimal point.
abstract  DialogService getDialogService()
          Returns an DialogService, which exposes a number of APIs needed by component and framework developers.
abstract  java.util.Map<java.lang.Object,java.util.Map<java.lang.Object,java.lang.String>> getFormatter()
          Returns a Map that performs message formatting with a recursive Map structure.
abstract  java.util.Locale getFormattingLocale()
          Returns the formatting locale.
abstract  java.util.Map<java.lang.String,java.lang.Object> getHelpSystem()
          Returns a Map that will accept help system properties as keys, and return an URL as a result.
abstract  java.util.Map<java.lang.String,java.lang.Object> getHelpTopic()
          Returns a Map that will accept topic names as keys, and return an URL as a result.
abstract  char getNumberGroupingSeparator()
          Return the separator used for groups of numbers.
abstract  java.lang.String getOracleHelpServletUrl()
          Return the URL to an Oracle Help for the Web servlet.
abstract  java.lang.String getOutputMode()
          Returns the "output mode" - printable, etc.
abstract  java.util.Map<java.lang.String,java.lang.Object> getPageFlowScope()
          Returns a Map of objects at "pageFlow" scope.
abstract  PageFlowScopeProvider getPageFlowScopeProvider()
          Gets the PageFlowScopeProvider for the current application.
abstract  PageResolver getPageResolver()
          Gets the PageResolver for the current application.
 java.util.Map<java.lang.String,java.lang.Object> getProcessScope()
          Deprecated. use getPageFlowScope()
abstract  RegionManager getRegionManager()
          Gets the RegionManager for the current application.
abstract  java.lang.String getSkinFamily()
          Returns the name of the preferred skin family.
abstract  java.util.TimeZone getTimeZone()
          Returns the default TimeZone used for interpreting and formatting date values.
abstract  int getTwoDigitYearStart()
          Returns the year offset for parsing years with only two digits.
abstract  UploadedFileProcessor getUploadedFileProcessor()
           
abstract  boolean isAnimationEnabled()
          Returns the system wide setting to turn animation on/off.
abstract  boolean isClientValidationDisabled()
          Returns true if client-side validation should be disabled.
abstract  boolean isDebugOutput()
          Returns true if output should contain debugging information.
abstract  boolean isPartialRequest(javax.faces.context.FacesContext context)
          Method to indicate if this current HTTP request is a partial page rendering request.
abstract  boolean isPostback()
          Returns true if JSF is currently processing a postback request.
abstract  boolean isRightToLeft()
          Returns true if the user should be shown output in right-to-left.
abstract  void launchDialog(javax.faces.component.UIViewRoot dialogRoot, java.util.Map<java.lang.String,java.lang.Object> dialogParameters, javax.faces.component.UIComponent source, boolean useWindow, java.util.Map<java.lang.String,java.lang.Object> windowProperties)
          Launch a dialog, optionally raising it in a new dialog window.
abstract  void partialUpdateNotify(javax.faces.component.UIComponent updated)
          Called when any component gets updated.
 void release()
          Releases the RequestContext object.
abstract  javax.faces.component.UIComponent restoreComponent(java.lang.Object state)
          Restores the state of a component.
abstract  void returnFromDialog(java.lang.Object returnValue, java.util.Map<java.lang.Object,java.lang.Object> returnParameters)
          Returns from a dialog raised by a UIXCommand component, or any component implementing DialogSource, or any direct calls to launchDialog().
abstract  java.lang.Object saveComponent(javax.faces.component.UIComponent component)
          Saves the state of a UIComponent tree into an Object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VARIABLE_NAME

public static final java.lang.String VARIABLE_NAME
Name of the EL implicit variable ("requestContext") that is used to expose this context object.

See Also:
Constant Field Values
Constructor Detail

RequestContext

protected RequestContext()
Creates an RequestContext. RequestContext is abstract and may not be instantiated directly.

See Also:
RequestContextFactory
Method Detail

getCurrentInstance

public static RequestContext getCurrentInstance()
Retrieves the RequestContext active for the current thread.


getPageFlowScope

public abstract java.util.Map<java.lang.String,java.lang.Object> getPageFlowScope()
Returns a Map of objects at "pageFlow" scope.


getProcessScope

@Deprecated
public final java.util.Map<java.lang.String,java.lang.Object> getProcessScope()
Deprecated. use getPageFlowScope()


returnFromDialog

public abstract void returnFromDialog(java.lang.Object returnValue,
                                      java.util.Map<java.lang.Object,java.lang.Object> returnParameters)
Returns from a dialog raised by a UIXCommand component, or any component implementing DialogSource, or any direct calls to launchDialog().

Parameters:
returnValue - the value to be delivered in the the ReturnEvent
See Also:
ReturnEvent

getDialogService

public abstract DialogService getDialogService()
Returns an DialogService, which exposes a number of APIs needed by component and framework developers. This will only rarely be needed by page authors.


launchDialog

public abstract void launchDialog(javax.faces.component.UIViewRoot dialogRoot,
                                  java.util.Map<java.lang.String,java.lang.Object> dialogParameters,
                                  javax.faces.component.UIComponent source,
                                  boolean useWindow,
                                  java.util.Map<java.lang.String,java.lang.Object> windowProperties)
Launch a dialog, optionally raising it in a new dialog window.

The dialog will receive a new pageFlowScope map, which includes all the values of the currently available pageFlowScope as well as a set of properties passed to this function in the dialogParameters map. Changes to this newly created scope will not be visible once the dialog returns.

Parameters:
dialogRoot - the UIViewRoot for the page being launched
dialogParameters - a set of parameters to populate the newly created pageFlowScope
source - the UIComponent that launched the dialog and should receive the ReturnEvent when the dialog is complete.
useWindow - if true, use a popup window for the dialog if available on the current user agent device
windowProperties - the set of UI parameters used to modify the window, if one is used. The set of properties that\ are supported will depend on the RenderKit, but common examples include "width", "height", "top" and "left".

isPostback

public abstract boolean isPostback()
Returns true if JSF is currently processing a postback request. isPostback() will return false if this is a request for an initial render of a page (that is, if Apply Request Values never executes), or if during the request the user is navigated to a different page (because of a navigation rule, etc). For example, during a request that results in a navigation to a new page, isPostback() will return true from Apply Request Values to Invoke Application, then false afterwards; whereas if there was no navigation, it would return true

The value of this method is undefined during (or before) the Restore View phase, but can be used in the afterPhase() method of a PhaseListener for Restore View.


isPartialRequest

public abstract boolean isPartialRequest(javax.faces.context.FacesContext context)
Method to indicate if this current HTTP request is a partial page rendering request.

Parameters:
context - the FacesContext object for the request we are processing
Returns:
is this request a PPR request?

isDebugOutput

public abstract boolean isDebugOutput()
Returns true if output should contain debugging information.


isClientValidationDisabled

public abstract boolean isClientValidationDisabled()
Returns true if client-side validation should be disabled.


getOutputMode

public abstract java.lang.String getOutputMode()
Returns the "output mode" - printable, etc.


getSkinFamily

public abstract java.lang.String getSkinFamily()
Returns the name of the preferred skin family.


getAccessibilityMode

public abstract RequestContext.Accessibility getAccessibilityMode()
Returns the name of the current accessibility mode.


getAccessibilityProfile

public abstract AccessibilityProfile getAccessibilityProfile()
Returns the accessibility profile for the current request.


getClientValidation

public abstract RequestContext.ClientValidation getClientValidation()
Returns the name of the current client validation mode.


isAnimationEnabled

public abstract boolean isAnimationEnabled()
Returns the system wide setting to turn animation on/off.


isRightToLeft

public abstract boolean isRightToLeft()
Returns true if the user should be shown output in right-to-left.


getFormattingLocale

public abstract java.util.Locale getFormattingLocale()
Returns the formatting locale. Converters without an explicit locale should use this to format values. If not set, converters should default to the value of FacesContext.getViewRoot().getLocale(). This will, by default, simply return null.


getNumberGroupingSeparator

public abstract char getNumberGroupingSeparator()
Return the separator used for groups of numbers. If NUL (zero), use the default separator for the current language.


getDecimalSeparator

public abstract char getDecimalSeparator()
Return the separator used as the decimal point. If NUL (zero), use the default separator for the current language.


getCurrencyCode

public abstract java.lang.String getCurrencyCode()
Return the ISO 4217 currency code used by default for formatting currency fields when those fields do not specify an explicit currency field via their converter. If this returns null, the default code for the current locale will be used.


getTwoDigitYearStart

public abstract int getTwoDigitYearStart()
Returns the year offset for parsing years with only two digits. If not set this is defaulted to 1950 This is used by @link{org.apache.myfaces.trinidad.faces.view.converter.DateTimeConverter} while converting strings to Date object.


getOracleHelpServletUrl

public abstract java.lang.String getOracleHelpServletUrl()
Return the URL to an Oracle Help for the Web servlet.


getHelpTopic

public abstract java.util.Map<java.lang.String,java.lang.Object> getHelpTopic()
Returns a Map that will accept topic names as keys, and return an URL as a result.


getHelpSystem

public abstract java.util.Map<java.lang.String,java.lang.Object> getHelpSystem()
Returns a Map that will accept help system properties as keys, and return an URL as a result.


getTimeZone

public abstract java.util.TimeZone getTimeZone()
Returns the default TimeZone used for interpreting and formatting date values.


getChangeManager

public abstract ChangeManager getChangeManager()
Gets the ChangeManager for the current application.


getApplicationScopedConcurrentMap

public java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.Object> getApplicationScopedConcurrentMap()
Gets a per application concurrent map. There is no synchronization with ServletContext attributes.


getPageFlowScopeProvider

public abstract PageFlowScopeProvider getPageFlowScopeProvider()
Gets the PageFlowScopeProvider for the current application.


getPageResolver

public abstract PageResolver getPageResolver()
Gets the PageResolver for the current application.


getRegionManager

public abstract RegionManager getRegionManager()
Gets the RegionManager for the current application.


addPartialTarget

public abstract void addPartialTarget(javax.faces.component.UIComponent newTarget)
Add a component as a partial target. In response to a partial event, only components registered as partial targets are re-rendered. For a component to be successfully re-rendered when it is manually added with this API, it should have an explictly set "id". If not, partial re-rendering may or may not work depending on the component.


addPartialTargets

public abstract void addPartialTargets(javax.faces.component.UIComponent from,
                                       java.lang.String... targets)
Add components relative to the given component as partial targets.

See addPartialTarget(UIComponent) for more information.

Parameters:
from - the component to use as a relative reference for any relative IDs in the list of targets
targets - array of targets relative to the from component that should be added as targets.
See Also:
ComponentUtils.findRelativeComponent(UIComponent, String)

addPartialTriggerListeners

public abstract void addPartialTriggerListeners(javax.faces.component.UIComponent listener,
                                                java.lang.String[] trigger)
Adds a listener on a set of particular triggering components. If one of the named components gets updated in response to a partial event, then this listener component will be rerendered during the render phase (i.e. it will be added as a partialTarget). The list should consist of names suitable for use with the findComponent method on UIComponent.


partialUpdateNotify

public abstract void partialUpdateNotify(javax.faces.component.UIComponent updated)
Called when any component gets updated. Any partial target components listening on this component will be added to the partialTargets list in the render phase.


getUploadedFileProcessor

public abstract UploadedFileProcessor getUploadedFileProcessor()

getColorPalette

public abstract java.util.Map<java.lang.String,java.util.List<java.awt.Color>> getColorPalette()
Returns a Map that takes color palette names as keys, and returns the color palette as a result.


getFormatter

public abstract java.util.Map<java.lang.Object,java.util.Map<java.lang.Object,java.lang.String>> getFormatter()
Returns a Map that performs message formatting with a recursive Map structure. The first key must be the message formatting mask, and the second the first parameter into the message. (The formatter Map supports only a single parameter at this time.)


getAgent

public abstract Agent getAgent()
Returns the Agent information for the current context


saveComponent

public abstract java.lang.Object saveComponent(javax.faces.component.UIComponent component)
Saves the state of a UIComponent tree into an Object. The Object will be serializable, unless a UIComponent in this tree contains a non-serializable property. This method does not check that condition.

Parameters:
component - the component
Returns:
an Object that can be passed to restoreComponent() to reinstantiate the state

restoreComponent

public abstract javax.faces.component.UIComponent restoreComponent(java.lang.Object state)
                                                            throws java.lang.ClassNotFoundException,
                                                                   java.lang.InstantiationException,
                                                                   java.lang.IllegalAccessException
Restores the state of a component.

Parameters:
state - an Object created by a prior call to saveComponent().
Returns:
the component
Throws:
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException

release

public void release()
Releases the RequestContext object. This method must only be called by the code that created the RequestContext.

Throws:
java.lang.IllegalStateException - if no RequestContext is attached to the thread, or the attached context is not this object

attach

public void attach()
Attaches a RequestContext to the current thread. This method should only be called by a RequestContext object itself.

Throws:
java.lang.IllegalStateException - if an RequestContext is already attached to the thread


Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.