@Override public void restoreState(FacesContext facesContext, Object object) { Object[] state = (Object[]) object; int i = 0; super.restoreState(facesContext, state[i++]); clientFunction = (String) UIComponentBase.restoreAttachedState(facesContext, state[i++]); serverFunction = (MethodExpression) UIComponentBase.restoreAttachedState(facesContext, state[i++]); }
// Utility for restoring bindings from state private static Map<String, ValueExpression> restoreBindings(FacesContext context, Object state) { // Note: This code is copied from UIComponentBase. See note above // in saveBindings(). if (state == null) { return (null); } Object values[] = (Object[]) state; String names[] = (String[]) values[0]; Object states[] = (Object[]) values[1]; Map<String, ValueExpression> bindings = new HashMap<String, ValueExpression>(names.length); for (int i = 0; i < names.length; i++) { bindings.put( names[i], (ValueExpression) UIComponentBase.restoreAttachedState(context, states[i])); } return (bindings); }