View Javadoc

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  }