javax.faces.application.StateManager Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of myfaces-api Show documentation
Show all versions of myfaces-api Show documentation
The public API classes of the Apache MyFaces CORE JSF-2.2 project
/*
* Copyright 2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package javax.faces.application;
/**
* see Javadoc of JSF Specification
*
* @author Manfred Geiler (latest modification by $Author: matzew $)
* @version $Revision: 358099 $ $Date: 2005-12-20 20:40:00 +0000 (Tue, 20 Dec 2005) $
*/
public abstract class StateManager
{
public static final String STATE_SAVING_METHOD_PARAM_NAME = "javax.faces.STATE_SAVING_METHOD";
public static final String STATE_SAVING_METHOD_CLIENT = "client";
public static final String STATE_SAVING_METHOD_SERVER = "server";
private Boolean _savingStateInClient = null;
public abstract StateManager.SerializedView saveSerializedView(javax.faces.context.FacesContext context);
protected abstract Object getTreeStructureToSave(javax.faces.context.FacesContext context);
protected abstract Object getComponentStateToSave(javax.faces.context.FacesContext context);
public abstract void writeState(javax.faces.context.FacesContext context,
StateManager.SerializedView state)
throws java.io.IOException;
public abstract javax.faces.component.UIViewRoot restoreView(javax.faces.context.FacesContext context,
String viewId,
String renderKitId);
protected abstract javax.faces.component.UIViewRoot restoreTreeStructure(javax.faces.context.FacesContext context,
String viewId,
String renderKitId);
protected abstract void restoreComponentState(javax.faces.context.FacesContext context,
javax.faces.component.UIViewRoot viewRoot,
String renderKitId);
public boolean isSavingStateInClient(javax.faces.context.FacesContext context)
{
if(context == null) throw new NullPointerException("context");
if (_savingStateInClient != null) return _savingStateInClient.booleanValue();
String stateSavingMethod = context.getExternalContext().getInitParameter(STATE_SAVING_METHOD_PARAM_NAME);
if (stateSavingMethod == null)
{
_savingStateInClient = Boolean.FALSE; //Specs 10.1.3: default server saving
context.getExternalContext().log("No state saving method defined, assuming default server state saving");
}
else if (stateSavingMethod.equals(STATE_SAVING_METHOD_CLIENT))
{
_savingStateInClient = Boolean.TRUE;
}
else if (stateSavingMethod.equals(STATE_SAVING_METHOD_SERVER))
{
_savingStateInClient = Boolean.FALSE;
}
else
{
_savingStateInClient = Boolean.FALSE; //Specs 10.1.3: default server saving
context.getExternalContext().log("Illegal state saving method '" + stateSavingMethod + "', default server state saving will be used");
}
return _savingStateInClient.booleanValue();
}
public class SerializedView
{
private Object _structure;
private Object _state;
public SerializedView(Object structure, Object state)
{
_structure = structure;
_state = state;
}
public Object getStructure()
{
return _structure;
}
public Object getState()
{
return _state;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy