View Javadoc

1   /*
2    * $Id: CardBoxPreferences.java,v 1.1 2008/01/29 10:59:56 oeuillot Exp $
3    * 
4    */
5   package org.rcfaces.core.preference;
6   
7   import javax.faces.FacesException;
8   import javax.faces.component.UIComponent;
9   import javax.faces.context.FacesContext;
10  
11  import org.rcfaces.core.component.CardBoxComponent;
12  import org.rcfaces.core.component.CardComponent;
13  import org.rcfaces.core.component.iterator.ICardIterator;
14  
15  /**
16   * 
17   * @author Olivier Oeuillot (latest modification by $Author: oeuillot $)
18   * @version $Revision: 1.1 $ $Date: 2008/01/29 10:59:56 $
19   */
20  public class CardBoxPreferences extends AbstractComponentPreferences {
21      private static final String REVISION = "$Revision: 1.1 $";
22  
23      private static final long serialVersionUID = -8616195336828413449L;
24  
25      private String selectedCardId;
26  
27      public void loadPreferences(FacesContext facesContext, UIComponent component) {
28          if ((component instanceof CardBoxComponent) == false) {
29              throw new FacesException("Can not load cardBox preferences !");
30          }
31  
32          CardBoxComponent cardBoxComponent = (CardBoxComponent) component;
33  
34          if (selectedCardId != null) {
35              ICardIterator cardIterator = cardBoxComponent.listCards();
36              for (; cardIterator.hasNext();) {
37                  CardComponent cardComponent = cardIterator.next();
38  
39                  if (selectedCardId.equals(cardComponent.getId()) == false) {
40                      continue;
41                  }
42  
43                  cardBoxComponent.select(cardComponent);
44                  break;
45              }
46          }
47      }
48  
49      public void savePreferences(FacesContext facesContext, UIComponent component) {
50          if ((component instanceof CardBoxComponent) == false) {
51              throw new FacesException("Can not save cardBox preferences !");
52          }
53  
54          CardBoxComponent cardBoxComponent = (CardBoxComponent) component;
55  
56          selectedCardId = null;
57          CardComponent cardComponent = cardBoxComponent
58                  .getSelectedCard(facesContext);
59          if (cardComponent != null) {
60              selectedCardId = cardComponent.getId();
61          }
62      }
63  
64      public Object saveState(FacesContext context) {
65          return new Object[] { selectedCardId };
66      }
67  
68      public void restoreState(FacesContext context, Object state) {
69          Object p[] = (Object[]) state;
70  
71          this.selectedCardId = (String) p[0];
72      }
73  
74  }