1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19 package org.apache.myfaces.renderkit;
20
21 import javax.faces.application.StateManager;
22 import javax.faces.context.FacesContext;
23 import javax.faces.render.ResponseStateManager;
24
25 /**
26 * @author Manfred Geiler (latest modification by $Author: bommel $)
27 * @version $Revision: 1187701 $ $Date: 2011-10-22 07:21:54 -0500 (Sat, 22 Oct 2011) $
28 *
29 */
30 public abstract class MyfacesResponseStateManager extends ResponseStateManager
31 {
32
33 /**
34 * Writes url parameters with the state info to be saved. {@link org.apache.myfaces.application.MyfacesStateManager}
35 * delegates calls to {@link org.apache.myfaces.application.MyfacesStateManager#writeState} to this method.
36 *
37 * @deprecated
38 */
39 @Deprecated
40 public void writeStateAsUrlParams(FacesContext facescontext, StateManager.SerializedView serializedview)
41 {
42 throw new UnsupportedOperationException("long been deprecated...");
43 }
44
45 /**
46 * Execute additional operations like save the state on a cache when server
47 * side state saving is used.
48 */
49 public void saveState(FacesContext facesContext, Object state)
50 {
51 }
52
53 /**
54 * Indicates if the call to ResponseStateManager.writeState should be done after the view is fully rendered.
55 * Usually this is required for client side state saving, but it is not for server side state saving, because
56 * ResponseStateManager.writeState could render a just a marker and then StateManager.saveState could be called,
57 * preventing use an additional buffer.
58 *
59 * @param facesContext
60 * @return
61 */
62 public boolean isWriteStateAfterRenderViewRequired(FacesContext facesContext)
63 {
64 return true;
65 }
66 }