private Map<String, Object> saveTransientDescendantComponentStates(FacesContext facesContext, Map<String, Object> childStates, Iterator<UIComponent> childIterator, boolean saveChildFacets) { while (childIterator.hasNext()) { UIComponent child = childIterator.next(); if (!child.isTransient()) { Iterator<UIComponent> childsIterator; if (saveChildFacets) { childsIterator = child.getFacetsAndChildren(); } else { childsIterator = child.getChildren().iterator(); } childStates = saveTransientDescendantComponentStates(facesContext, childStates, childsIterator, true); Object state = child.saveTransientState(facesContext); if (state != null) { if (childStates == null) { childStates = new HashMap<>(); } childStates.put(child.getClientId(facesContext), state); } } } return childStates; }
private Map<String, Object> saveFullDescendantComponentStates(FacesContext facesContext, Map<String, Object> stateMap, Iterator<UIComponent> childIterator, boolean saveChildFacets) { while (childIterator.hasNext()) { UIComponent child = childIterator.next(); if (!child.isTransient()) { Iterator<UIComponent> childsIterator; if (saveChildFacets) { childsIterator = child.getFacetsAndChildren(); } else { childsIterator = child.getChildren().iterator(); } stateMap = saveFullDescendantComponentStates(facesContext, stateMap, childsIterator, true); Object state = child.saveState(facesContext); if (state != null) { if (stateMap == null) { stateMap = new HashMap<>(); } stateMap.put(child.getClientId(facesContext), state); } } } return stateMap; }
/** * Recursively create the initial state for the given component. * * @param facesContext the Faces context. * @param component the UI component to save the state for. * @see #saveInitialChildState(javax.faces.context.FacesContext) */ private void saveInitialChildState(FacesContext facesContext, UIComponent component) { if (component instanceof EditableValueHolder && !component.isTransient()) { String clientId = component.getClientId(facesContext); SavedState state = new SavedState(); initialChildState.put(clientId, state); state.populate((EditableValueHolder) component); } Iterator<UIComponent> iterator = component.getFacetsAndChildren(); while (iterator.hasNext()) { saveChildState(facesContext, iterator.next()); } }
private void saveChildState(FacesContext faces, UIComponent c) { if (c instanceof EditableValueHolder && !c.isTransient()) { String clientId = c.getClientId(faces); SavedState ss = getChildState().get(clientId); if (ss == null) { ss = new SavedState(); getChildState().put(clientId, ss); } ss.populate((EditableValueHolder) c); } // continue hack Iterator itr = c.getFacetsAndChildren(); while (itr.hasNext()) { saveChildState(faces, (UIComponent) itr.next()); } }
private void restoreTransientDescendantComponentStates(FacesContext facesContext, Iterator<UIComponent> childIterator, Map<String, Object> state, boolean restoreChildFacets) { while (childIterator.hasNext()) { UIComponent component = childIterator.next(); // reset the client id (see spec 3.1.6) component.setId(component.getId()); if (!component.isTransient()) { component.restoreTransientState(facesContext, (state == null) ? null : state.get(component.getClientId(facesContext))); Iterator<UIComponent> childsIterator; if (restoreChildFacets) { childsIterator = component.getFacetsAndChildren(); } else { childsIterator = component.getChildren().iterator(); } restoreTransientDescendantComponentStates(facesContext, childsIterator, state, true); } } }
if (!component.isTransient()) { Object childState = null; Object descendantState = null;
if (!component.isTransient()) { restoreDescendantComponentWithoutRestoreState(component, restoreChildFacets, true); if (!component.isTransient()) { restoreDescendantComponentWithoutRestoreState(component, restoreChildFacets, true);
if (!child.isTransient()) {
if (!component.isTransient()) { if (descendantStateIndex == -1) { stateCollection = ((List<? extends Object[]>) state); if (!component.isTransient()) { if (descendantStateIndex == -1) { stateCollection = ((List<? extends Object[]>) state);
if (!component.isTransient()) { Object childInitialState = null; Object descendantInitialState = null;
if (!child.isTransient()) { for (int i = 0; i < parent.getChildCount(); i++) { UIComponent child = parent.getChildren().get(i); if (!child.isTransient()) {
/** * @see javax.faces.component.StateHolder#isTransient() */ public boolean isTransient() { return parent.isTransient(); }
private void markApplied(ApplyToken token, UIComponent c) { if (!c.isTransient()) { Map<String, Object> attr = c.getAttributes(); if (!attr.containsKey(APPLIED_KEY)) { attr.put(APPLIED_KEY, token); } } }
private static void captureChild(List<TreeNode> tree, int parent, UIComponent c) { if (!c.isTransient()) { TreeNode n = new TreeNode(parent, c); int pos = tree.size(); tree.add(n); captureRest(tree, pos, c); } }
private static void captureFacet(List<TreeNode> tree, int parent, String name, UIComponent c) { if (!c.isTransient()) { FacetNode n = new FacetNode(parent, name, c); int pos = tree.size(); tree.add(n); captureRest(tree, pos, c); } }
private List<Object> collectChildState(FacesContext context, List<Object> stateList) { if (getChildCount() > 0) { Iterator<UIComponent> kids = getChildren().iterator(); while (kids.hasNext()) { UIComponent kid = (UIComponent) kids.next(); if (!kid.isTransient()) { stateList.add(kid.processSaveState(context)); } } } return stateList; }
private List<Object> collectChildState(FacesContext context, List<Object> stateList) { if (getChildCount() > 0) { Iterator<UIComponent> kids = getChildren().iterator(); while (kids.hasNext()) { UIComponent kid = (UIComponent) kids.next(); if (!kid.isTransient()) { stateList.add(kid.processSaveState(context)); } } } return stateList; }
private void markInitialState(final UIComponent component) { component.markInitialState(); for (Iterator<UIComponent> it = component.getFacetsAndChildren() ; it.hasNext() ; ) { UIComponent child = it.next(); if (!child.isTransient()) { markInitialState(child); } } }
private void markInitialState(final UIComponent component) { component.markInitialState(); for (Iterator<UIComponent> it = component.getFacetsAndChildren() ; it.hasNext() ; ) { UIComponent child = it.next(); if (!child.isTransient()) { markInitialState(child); } } }
public boolean isTransient() { setupPerspective(); boolean retVal=innerGetDelegate().isTransient(); teardownPerspective(); return retVal; }