View Javadoc

1   /*
2    * $Id: BasicImagesSelectItem.java,v 1.1 2007/02/02 17:33:31 oeuillot Exp $
3    */
4   package org.rcfaces.core.item;
5   
6   import javax.faces.component.UISelectItem;
7   import javax.faces.context.FacesContext;
8   
9   import org.rcfaces.core.component.capability.IImageCapability;
10  import org.rcfaces.core.component.familly.IContentAccessors;
11  import org.rcfaces.core.internal.component.IExpandImageAccessors;
12  import org.rcfaces.core.internal.component.IImageAccessors;
13  import org.rcfaces.core.internal.component.IStatesImageAccessors;
14  import org.rcfaces.core.internal.contentAccessor.IContentAccessor;
15  
16  /**
17   * 
18   * @author Olivier Oeuillot (latest modification by $Author: oeuillot $)
19   * @version $Revision: 1.1 $ $Date: 2007/02/02 17:33:31 $
20   */
21  public class BasicImagesSelectItem extends BasicSelectItem implements
22          IImagesItem {
23      private static final String REVISION = "$Revision: 1.1 $";
24  
25      private static final long serialVersionUID = 3611551357173361214L;
26  
27      private String imageURL;
28  
29      private String disabledImageURL;
30  
31      private String hoverImageURL;
32  
33      private String selectedImageURL;
34  
35      private String expandedImageURL;
36  
37      public BasicImagesSelectItem() {
38      }
39  
40      public BasicImagesSelectItem(Object value) {
41          super(value);
42      }
43  
44      public BasicImagesSelectItem(Object value, String label) {
45          super(value, label);
46      }
47  
48      public BasicImagesSelectItem(Object value, String label, String description) {
49          super(value, label, description);
50      }
51  
52      public BasicImagesSelectItem(Object value, String label,
53              String description, boolean disabled) {
54          super(value, label, description, disabled);
55      }
56  
57      public BasicImagesSelectItem(UISelectItem component) {
58          super(component);
59  
60          IContentAccessors contentAccessors = null;
61  
62          FacesContext facesContext = null;
63          if (component instanceof IImageCapability) {
64              contentAccessors = ((IImageCapability) component)
65                      .getImageAccessors();
66          }
67  
68          if (contentAccessors instanceof IImageAccessors) {
69              IImageAccessors imageAccessors = (IImageAccessors) contentAccessors;
70  
71              if (facesContext == null) {
72                  facesContext = FacesContext.getCurrentInstance();
73              }
74  
75              IContentAccessor ca = imageAccessors.getImageAccessor();
76              if (ca != null) {
77                  imageURL = ca.resolveURL(facesContext, null, null);
78              }
79  
80              if (contentAccessors instanceof IStatesImageAccessors) {
81                  IStatesImageAccessors is = (IStatesImageAccessors) imageAccessors;
82  
83                  ca = is.getDisabledImageAccessor();
84                  if (ca != null) {
85                      disabledImageURL = ca.resolveURL(facesContext, null, null);
86                  }
87  
88                  ca = is.getHoverImageAccessor();
89                  if (ca != null) {
90                      hoverImageURL = ca.resolveURL(facesContext, null, null);
91                  }
92  
93                  ca = is.getSelectedImageAccessor();
94                  if (ca != null) {
95                      selectedImageURL = ca.resolveURL(facesContext, null, null);
96                  }
97  
98                  if (contentAccessors instanceof IExpandImageAccessors) {
99                      IExpandImageAccessors ei = (IExpandImageAccessors) is;
100 
101                     ca = ei.getExpandedImageAccessor();
102                     if (ca != null) {
103                         expandedImageURL = ca.resolveURL(facesContext, null,
104                                 null);
105                     }
106                 }
107             }
108         }
109     }
110 
111     public String getImageURL() {
112         return imageURL;
113     }
114 
115     /*
116      * (non-Javadoc)
117      * 
118      * @see org.rcfaces.core.model.IImagesSelectItem#getHoverImageURL()
119      */
120     public String getHoverImageURL() {
121         return hoverImageURL;
122     }
123 
124     /*
125      * (non-Javadoc)
126      * 
127      * @see org.rcfaces.core.model.IImagesSelectItem#getSelectedImageURL()
128      */
129     public String getSelectedImageURL() {
130         return selectedImageURL;
131     }
132 
133     /*
134      * (non-Javadoc)
135      * 
136      * @see org.rcfaces.core.model.IImagesSelectItem#getExpandedImageURL()
137      */
138     public String getExpandedImageURL() {
139         return expandedImageURL;
140     }
141 
142     /*
143      * (non-Javadoc)
144      * 
145      * @see org.rcfaces.core.model.IImagesSelectItem#getDisabledImageURL()
146      */
147     public String getDisabledImageURL() {
148         return disabledImageURL;
149     }
150 
151     public void setDisabledImageURL(String disabledImageURL) {
152         this.disabledImageURL = disabledImageURL;
153     }
154 
155     public void setExpandedImageURL(String expandedImageURL) {
156         this.expandedImageURL = expandedImageURL;
157     }
158 
159     public void setHoverImageURL(String hoverImageURL) {
160         this.hoverImageURL = hoverImageURL;
161     }
162 
163     public void setImageURL(String imageURL) {
164         this.imageURL = imageURL;
165     }
166 
167     public void setSelectedImageURL(String selectedImageURL) {
168         this.selectedImageURL = selectedImageURL;
169     }
170 
171 }