Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source
   * Copyright 2010, Red Hat, Inc. and individual contributors
   * by the @authors tag. See the copyright.txt in the distribution for a
   * full listing of individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.richfaces.component.util;
 
 
 import  javax.faces.component.PartialStateHolder;
 import  javax.faces.component.StateHolder;
 import  javax.faces.component.UIComponent;
 import  javax.faces.component.UIComponentBase;
 import  javax.faces.context.FacesContext;

Author(s):
Nick Belaevski
 
 public final class PartialStateHolderUtil {
     private static final class StateHolderObject implements Serializable {
         private static final long serialVersionUID = 6157742187482213801L;
         private boolean partialState;
         private Object savedState;
 
         public StateHolderObject(boolean partialStateObject savedState) {
             super();
             this. = partialState;
             this. = savedState;
         }
 
         public boolean isPartialState() {
             return ;
         }
 
         public Object getSavedState() {
             return ;
         }
     }
 
     private PartialStateHolderUtil() {
         // utility class constructor
     }
 
     public static Object saveState(FacesContext context, UIComponent componentObject objectToSave) {
         Object savedState = null;
         boolean nullDelta = true;
 
         boolean converterHasPartialState = false;
 
         if (component.initialStateMarked()) {
             if (objectToSave != null) {
                 if (objectToSave instanceof PartialStateHolder) {
                     // Delta
                     StateHolder holder = (StateHolder) objectToSave;
                     if (!holder.isTransient()) {
                         Object attachedState = holder.saveState(context);
                         if (attachedState != null) {
                             nullDelta = false;
                             savedState = attachedState;
                         }
                         converterHasPartialState = true;
                     } else {
                         savedState = null;
                     }
                 } else {
                     // Full
                     savedState = UIComponentBase.saveAttachedState(contextobjectToSave);
                     nullDelta = false;
                 }
             }
 
             if (savedState == null && nullDelta) {
                 // No values
                 return null;
             }
         } else {
             savedState = UIComponentBase.saveAttachedState(contextobjectToSave);
         }
 
         return new StateHolderObject(converterHasPartialStatesavedState);
     }
 
    public static Object restoreState(FacesContext contextObject savedStateObject existingObject) {
        if (savedState != null) {
            StateHolderObject stateHolderObject = (StateHolderObjectsavedState;
            if (stateHolderObject.isPartialState()) {
                ((StateHolder) existingObject).restoreState(contextstateHolderObject.getSavedState());
                return existingObject;
            } else {
                return UIComponentBase.restoreAttachedState(contextstateHolderObject.getSavedState());
            }
        } else {
            return null;
        }
    }
New to GrepCode? Check out our FAQ X