StateHolder (Java EE 5)
From Java EE API
|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
javax.faces.component Interface StateHolder
- All Known Implementing Classes:
- DateTimeConverter, DoubleRangeValidator, EnumConverter, HtmlColumn, HtmlCommandButton, HtmlCommandLink, HtmlDataTable, HtmlForm, HtmlGraphicImage, HtmlInputHidden, HtmlInputSecret, HtmlInputText, HtmlInputTextarea, HtmlMessage, HtmlMessages, HtmlOutputFormat, HtmlOutputLabel, HtmlOutputLink, HtmlOutputText, HtmlPanelGrid, HtmlPanelGroup, HtmlSelectBooleanCheckbox, HtmlSelectManyCheckbox, HtmlSelectManyListbox, HtmlSelectManyMenu, HtmlSelectOneListbox, HtmlSelectOneMenu, HtmlSelectOneRadio, LengthValidator, LongRangeValidator, MethodExpressionActionListener, MethodExpressionValidator, MethodExpressionValueChangeListener, NumberConverter, UIColumn, UICommand, UIComponent, UIComponentBase, UIData, UIForm, UIGraphic, UIInput, UIMessage, UIMessages, UINamingContainer, UIOutput, UIPanel, UIParameter, UISelectBoolean, UISelectItem, UISelectItems, UISelectMany, UISelectOne, UIViewRoot
public interface StateHolder
此接口由需要在请求之间保存其状态的类实现。
实现者必须实现此类中的 #saveState 和 #restoreState 方法,因为这两个方法之间有紧密耦合的协定。换句话说,如果有继承层次结构,则不允许使 #saveState 和 #restoreState 方法驻留在不同的层次结构级别。
实现者必须具有不带参数的公共构造方法。
This interface is implemented by classes that need to save their state between requests.
An implementor must implement both saveState(javax.faces.context.FacesContext) and restoreState(javax.faces.context.FacesContext, java.lang.Object) methods in this class, since
these two methods have a tightly coupled contract between themselves.
In other words, if there is an ineritance hierarchy, it is not
permissable to have the saveState(javax.faces.context.FacesContext) and restoreState(javax.faces.context.FacesContext, java.lang.Object)
methods reside at different levels of the hierarchy.
An implementor must have a public no-args constructor.
| Method Summary | |
|---|---|
boolean |
isTransient()
If true, the Object implementing this interface must not participate in state saving or restoring. |
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 |
setTransient(boolean newTransientValue)
Denotes whether or not the Object implementing this interface must or must not participate in state saving or restoring. |
| Method Detail |
|---|
public Object
saveState(FacesContext context)
获取作为 Serializable 对象的实例状态。
如果实现此接口的类包含指向实现 StateHolder 的实例的引用(例如带有事件处理程序、验证器等的 UIComponent),则此方法还必须调用所有这些实例上的 #saveState 方法。此方法不能保存子组件和 facet 的状态。通过 javax.faces.application.StateManager 可做到这一点
此方法不能修改实现对象的状态。换句话说,在执行此代码后:
Object state = component.saveState(facesContext);
component 应与执行前相同。
此方法的返回值必须是 Serializable
Throws NullPointerException:
如果 context 为 null
英文文档:
saveState
Object saveState(FacesContext context)
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 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
- Throws:
NullPointerException - if context is null
public void
restoreState(FacesContext context, Object state)
执行从状态 Object 中的条目恢复状态所需的任何处理。
如果实现此接口的类包含指向也实现了 StateHolder 的实例的引用(例如带有事件处理程序、验证器等的 UIComponent),则此方法还必须调用所有这些实例上的 #restoreState 方法。
Throws NullPointerException:
如果 context 或 state 为 null
英文文档:
restoreState
void restoreState(FacesContext context,
Object state)
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 restoreState(javax.faces.context.FacesContext, java.lang.Object) method on all those
instances as well.
- Throws:
NullPointerException - if either context or
state are null
public boolean
isTransient()
如果为 true,则实现此接口的 Object 不得参与状态保存或恢复。
英文文档:
isTransient
boolean isTransient()
If true, the Object implementing this interface must not
participate in state saving or restoring.
public void
setTransient(boolean newTransientValue)
表示实现此接口的 Object 必须或不得参与状态保存或恢复。
newTransientValue
如果此 Object 将参与状态保存或恢复,则 boolean 传递 true,否则传递 false。
英文文档:
setTransient
void setTransient(boolean newTransientValue)
Denotes whether or not the Object implementing this interface must
or must not participate in state saving or restoring.
- Parameters:
newTransientValue - boolean pass true if this Object
will participate in state saving or restoring, otherwise
pass false.
PREV CLASS
NEXT CLASS
FRAMES
NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD
DETAIL: FIELD | CONSTR | METHOD
Submit a bug or feature Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
PS : 未经我党受权你也可自由散发此文档。 如有任何错误请自行修正;若因此而造成任何损失请直接找人民主席,请勿与本人联系。谢谢!