UIViewRoot (Java EE 5 SDK)

Java

Java EE 5 SDK

深圳电信培训中心.徐海蛟老师.


javax.faces.component Class UIViewRoot

java.lang.Object
  extended by javax.faces.component.UIComponent
      extended by javax.faces.component.UIComponentBase
          extended by javax.faces.component.UIViewRoot
所有已实现的接口:
StateHolder

public class UIViewRoot
extends UIComponentBase

UIViewRoot is the UIComponent that represents the root of the UIComponent tree. This component has no rendering, it just serves as the root of the component tree, and as a place to hang per-view PhaseListeners.

For each of the following lifecycle phase methods:

Take the following action regarding PhaseListeners.


字段摘要
static String COMPONENT_FAMILY
          The standard component family for this component.
static String COMPONENT_TYPE
          The standard component type for this component.
static String UNIQUE_ID_PREFIX
          The prefix that will be used for identifiers generated by the createUniqueId() method.
 
Fields inherited from class javax.faces.component.UIComponent
bindings
 
构造器摘要
UIViewRoot()
          Create a new UIViewRoot instance with default property values.
 
方法摘要
 void addPhaseListener(PhaseListener newPhaseListener)
           
 String createUniqueId()
          Generate an identifier for a component.
 void encodeBegin(FacesContext context)
          Override the default UIComponentBase.encodeBegin(javax.faces.context.FacesContext) behavior.
 void encodeEnd(FacesContext context)
          Override the default UIComponentBase.encodeEnd(javax.faces.context.FacesContext) behavior.
 MethodExpression getAfterPhaseListener()
           
 MethodExpression getBeforePhaseListener()
           
 String getFamily()
          Return the identifier of the component family to which this component belongs.
 Locale getLocale()
          Return the Locale to be used in localizing the response being created for this view.
 String getRenderKitId()
          Return the render kit identifier of the RenderKit associated with this view.
 String getViewId()
          Return the view identifier for this view.
 void processApplication(FacesContext context)
          Broadcast any events that have been queued for the Invoke Application phase of the request processing lifecycle and to clear out any events for later phases if the event processing for this phase caused FacesContext.renderResponse() or FacesContext.responseComplete() to be called.
 void processDecodes(FacesContext context)
          Override the default UIComponentBase.processDecodes(javax.faces.context.FacesContext) behavior to broadcast any queued events after the default processing has been completed and to clear out any events for later phases if the event processing for this phase caused FacesContext.renderResponse() or FacesContext.responseComplete() to be called.
 void processUpdates(FacesContext context)
          Override the default UIComponentBase behavior to broadcast any queued events after the default processing has been completed and to clear out any events for later phases if the event processing for this phase caused FacesContext.renderResponse() or FacesContext.responseComplete() to be called.
 void processValidators(FacesContext context)
          Override the default UIComponentBase.processValidators(javax.faces.context.FacesContext) behavior to broadcast any queued events after the default processing has been completed and to clear out any events for later phases if the event processing for this phase caused FacesContext.renderResponse() or FacesContext.responseComplete() to be called.
 void queueEvent(FacesEvent event)
          Override the default UIComponentBase.queueEvent(javax.faces.event.FacesEvent) behavior to accumulate the queued events for later broadcasting.
 void removePhaseListener(PhaseListener toRemove)
           
 void restoreState(FacesContext context, Object state)
           Perform any processing required to restore the state from the entries in the state Object.
 Object saveState(FacesContext context)
           Gets the state of the instance as a Serializable Object.
 void setAfterPhaseListener(MethodExpression newAfterPhase)
          Allow an arbitrary method to be called for the "afterPhase" event as the UIViewRoot runs through its lifecycle.
 void setBeforePhaseListener(MethodExpression newBeforePhase)
          Allow an arbitrary method to be called for the "beforePhase" event as the UIViewRoot runs through its lifecycle.
 void setLocale(Locale locale)
          Set the Locale to be used in localizing the response being created for this view.
 void setRenderKitId(String renderKitId)
          Set the render kit identifier of the RenderKit associated with this view.
 void setViewId(String viewId)
          Set the view identifier for this view.
 
类方法继承 javax.faces.component.UIComponentBase
addFacesListener, broadcast, decode, encodeChildren, findComponent, getAttributes, getChildCount, getChildren, getClientId, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getParent, getRenderer, getRendererType, getRendersChildren, getValueBinding, invokeOnComponent, isRendered, isTransient, processRestoreState, processSaveState, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding
 
类方法继承 javax.faces.component.UIComponent
encodeAll, getContainerClientId, getValueExpression, setValueExpression
 
类方法继承 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

COMPONENT_TYPE

public static final String COMPONENT_TYPE

The standard component type for this component.

另请参见:
常量字段


COMPONENT_FAMILY

public static final String COMPONENT_FAMILY

The standard component family for this component.

另请参见:
常量字段


UNIQUE_ID_PREFIX

public static final String UNIQUE_ID_PREFIX

The prefix that will be used for identifiers generated by the createUniqueId() method.

另请参见:
常量字段

构造器详细信息

UIViewRoot

public UIViewRoot()

Create a new UIViewRoot instance with default property values.

方法详细信息

getFamily

public String getFamily()
Description copied from class: UIComponent

Return the identifier of the component family to which this component belongs. This identifier, in conjunction with the value of the rendererType property, may be used to select the appropriate Renderer for this component instance.

规范说明:
getFamily in class UIComponent

getRenderKitId

public String getRenderKitId()

Return the render kit identifier of the RenderKit associated with this view. Unless explicitly set, as in ViewHandler.createView(javax.faces.context.FacesContext, java.lang.String), the returned value will be null.


setRenderKitId

public void setRenderKitId(String renderKitId)

Set the render kit identifier of the RenderKit associated with this view. This method may be called at any time between the end of Apply Request Values phase of the request processing lifecycle (i.e. when events are being broadcast) and the beginning of the Render Response phase.

参数:
renderKitId - The new RenderKit identifier, or null to disassociate this view with any specific RenderKit instance

getViewId

public String getViewId()

Return the view identifier for this view.


setViewId

public void setViewId(String viewId)

Set the view identifier for this view.

参数:
viewId - The new view identifier

getBeforePhaseListener

public MethodExpression getBeforePhaseListener()
返回:
the MethodExpression that will be invoked before this view is rendered.

setBeforePhaseListener

public void setBeforePhaseListener(MethodExpression newBeforePhase)

Allow an arbitrary method to be called for the "beforePhase" event as the UIViewRoot runs through its lifecycle. This method will be called for all phases except PhaseId.RESTORE_VIEW. Unlike a true PhaseListener, this approach doesn't allow for only receiving PhaseEvents for a given phase.

The method must conform to the signature of PhaseListener.beforePhase(javax.faces.event.PhaseEvent).

参数:
newBeforePhase - the MethodExpression that will be invoked before this view is rendered.

getAfterPhaseListener

public MethodExpression getAfterPhaseListener()
返回:
the MethodExpression that will be invoked after this view is rendered.

setAfterPhaseListener

public void setAfterPhaseListener(MethodExpression newAfterPhase)

Allow an arbitrary method to be called for the "afterPhase" event as the UIViewRoot runs through its lifecycle. This method will be called for all phases except PhaseId.RESTORE_VIEW. Unlike a true PhaseListener, this approach doesn't allow for only receiving PhaseEvents for a given phase.

The method must conform to the signature of PhaseListener.afterPhase(javax.faces.event.PhaseEvent).

参数:
newAfterPhase - the MethodExpression that will be invoked after this view is rendered.

removePhaseListener

public void removePhaseListener(PhaseListener toRemove)

addPhaseListener

public void addPhaseListener(PhaseListener newPhaseListener)

queueEvent

public void queueEvent(FacesEvent event)

Override the default UIComponentBase.queueEvent(javax.faces.event.FacesEvent) behavior to accumulate the queued events for later broadcasting.

重写:
queueEvent in class UIComponentBase
参数:
event - FacesEvent to be queued
抛出异常:
IllegalStateException - if this component is not a descendant of a UIViewRoot
NullPointerException - if event is null

processDecodes

public void processDecodes(FacesContext context)

Override the default UIComponentBase.processDecodes(javax.faces.context.FacesContext) behavior to broadcast any queued events after the default processing has been completed and to clear out any events for later phases if the event processing for this phase caused FacesContext.renderResponse() or FacesContext.responseComplete() to be called.

重写:
processDecodes in class UIComponentBase
参数:
context - FacesContext for the request we are processing
抛出异常:
NullPointerException - if context is null

encodeBegin

public void encodeBegin(FacesContext context)
                 throws IOException

Override the default UIComponentBase.encodeBegin(javax.faces.context.FacesContext) behavior. If getBeforePhaseListener() returns non-null, invoke it, passing a PhaseEvent for the PhaseId.RENDER_RESPONSE phase. If the internal list populated by calls to addPhaseListener(javax.faces.event.PhaseListener) is non-empty, any listeners in that list must have their PhaseListener.beforePhase(javax.faces.event.PhaseEvent) method called, passing the PhaseEvent. Any errors that occur during invocation of any of the the beforePhase listeners must be logged and swallowed. After listeners are invoked call superclass processing.

重写:
encodeBegin in class UIComponentBase
参数:
context - FacesContext for the response we are creating
抛出异常:
IOException - if an input/output error occurs while rendering

encodeEnd

public void encodeEnd(FacesContext context)
               throws IOException

Override the default UIComponentBase.encodeEnd(javax.faces.context.FacesContext) behavior. If getAfterPhaseListener() returns non-null, invoke it, passing a PhaseEvent for the PhaseId.RENDER_RESPONSE phase. Any errors that occur during invocation of the afterPhase listener must be logged and swallowed.

重写:
encodeEnd in class UIComponentBase
参数:
context - FacesContext for the response we are creating
抛出异常:
IOException - if an input/output error occurs while rendering

processValidators

public void processValidators(FacesContext context)

Override the default UIComponentBase.processValidators(javax.faces.context.FacesContext) behavior to broadcast any queued events after the default processing has been completed and to clear out any events for later phases if the event processing for this phase caused FacesContext.renderResponse() or FacesContext.responseComplete() to be called.

重写:
processValidators in class UIComponentBase
参数:
context - FacesContext for the request we are processing
抛出异常:
NullPointerException - if context is null

processUpdates

public void processUpdates(FacesContext context)

Override the default UIComponentBase behavior to broadcast any queued events after the default processing has been completed and to clear out any events for later phases if the event processing for this phase caused FacesContext.renderResponse() or FacesContext.responseComplete() to be called.

重写:
processUpdates in class UIComponentBase
参数:
context - FacesContext for the request we are processing
抛出异常:
NullPointerException - if context is null

processApplication

public void processApplication(FacesContext context)

Broadcast any events that have been queued for the Invoke Application phase of the request processing lifecycle and to clear out any events for later phases if the event processing for this phase caused FacesContext.renderResponse() or FacesContext.responseComplete() to be called.

参数:
context - FacesContext for the request we are processing
抛出异常:
NullPointerException - if context is null

createUniqueId

public String createUniqueId()

Generate an identifier for a component. The identifier will be prefixed with UNIQUE_ID_PREFIX, and will be unique within this UIViewRoot.


getLocale

public Locale getLocale()

Return the Locale to be used in localizing the response being created for this view.

Algorithm:

If we have a locale ivar, return it. If we have a value expression for "locale", get its value. If the value is null, return the result of calling ViewHandler.calculateLocale(javax.faces.context.FacesContext). If the value is an instance of java.util.Locale return it. If the value is a String, convert it to a java.util.Locale and return it. If there is no value expression for "locale", return the result of calling ViewHandler.calculateLocale(javax.faces.context.FacesContext).

返回:
The current Locale obtained by executing the above algorithm.

setLocale

public void setLocale(Locale locale)

Set the Locale to be used in localizing the response being created for this view.

参数:
locale - The new localization Locale

saveState

public Object saveState(FacesContext context)
Description copied from interface: StateHolder

Gets the state of the instance as a Serializable Object.

If the class that implements this interface has references to instances that implement StateHolder (such as a UIComponent with event handlers, validators, etc.) this method must call the StateHolder.saveState(javax.faces.context.FacesContext) method on all those instances as well. This method must not save the state of children and facets. That is done via the StateManager

This method must not alter the state of the implementing object. In other words, after executing this code:

 Object state = component.saveState(facesContext);
 

component should be the same as before executing it.

The return from this method must be Serializable

规范说明:
saveState in interface StateHolder
重写:
saveState in class UIComponentBase

restoreState

public void restoreState(FacesContext context,
                         Object state)
Description copied from interface: StateHolder

Perform any processing required to restore the state from the entries in the state Object.

If the class that implements this interface has references to instances that also implement StateHolder (such as a UIComponent with event handlers, validators, etc.) this method must call the StateHolder.restoreState(javax.faces.context.FacesContext, java.lang.Object) method on all those instances as well.

规范说明:
restoreState in interface StateHolder
重写:
restoreState in class UIComponentBase

Java EE 5 SDK

深圳电信培训中心.徐海蛟老师.


提交错误或意见

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。深圳电信培训中心.徐海蛟老师教学参考.