1
2
3
4 package org.rcfaces.core.internal.tools;
5
6 import java.util.Set;
7
8 import javax.faces.component.UIComponent;
9 import javax.faces.context.FacesContext;
10
11 import org.apache.commons.logging.Log;
12 import org.apache.commons.logging.LogFactory;
13 import org.rcfaces.core.component.capability.ICheckedValuesCapability;
14 import org.rcfaces.core.internal.capability.ICheckComponent;
15 import org.rcfaces.core.internal.capability.ICheckRangeComponent;
16 import org.rcfaces.core.lang.provider.ICheckProvider;
17
18
19
20
21
22
23 public class CheckTools extends CollectionTools {
24 private static final String REVISION = "$Revision: 1.6 $";
25
26 private static final Log LOG = LogFactory.getLog(CheckTools.class);
27
28 private static final IValuesAccessor CHECK_PROVIDER_VALUES_ACCESSOR = new IValuesAccessor() {
29 private static final String REVISION = "$Revision: 1.6 $";
30
31 public int getCount(Object checkProvider) {
32 return ((ICheckProvider) checkProvider).getCheckedValuesCount();
33 }
34
35 public Object getFirst(Object checkProvider, Object refValues) {
36 return ((ICheckProvider) checkProvider).getFirstCheckedValue();
37 }
38
39 public Object[] listValues(Object checkProvider, Object refValues) {
40 return convertToObjectArray(((ICheckProvider) checkProvider)
41 .getCheckedValues());
42 }
43
44 public Object getAdaptedValues(Object value) {
45 return value;
46 }
47
48 public void setAdaptedValues(Object checkProvider, Object checkedValues) {
49 ((ICheckProvider) checkProvider).setCheckedValues(checkedValues);
50 }
51
52 public Object getComponentValues(UIComponent component) {
53 return ((ICheckedValuesCapability) component).getCheckedValues();
54 }
55
56 public void setComponentValues(UIComponent component, Object values) {
57 ((ICheckedValuesCapability) component).setCheckedValues(values);
58 }
59
60 public Class getComponentValuesType(FacesContext facesContext,
61 UIComponent component) {
62 return ((ICheckedValuesCapability) component)
63 .getCheckedValuesType(facesContext);
64 }
65 };
66
67 public static int getCount(Object checkedValues) {
68 IValuesAccessor valuesAccessor = getValuesAccessor(checkedValues,
69 ICheckProvider.class, CHECK_PROVIDER_VALUES_ACCESSOR, true);
70
71 if (valuesAccessor == null) {
72 return 0;
73 }
74 return valuesAccessor.getCount(checkedValues);
75 }
76
77 public static Object getFirst(Object checkedValues, Object refValue) {
78 IValuesAccessor valuesAccessor = getValuesAccessor(checkedValues,
79 ICheckProvider.class, CHECK_PROVIDER_VALUES_ACCESSOR, true);
80
81 if (valuesAccessor == null) {
82 return null;
83 }
84
85 return valuesAccessor.getFirst(checkedValues, refValue);
86 }
87
88 public static Object[] listValues(Object checkedValues, Object refValue) {
89 IValuesAccessor valuesAccessor = getValuesAccessor(checkedValues,
90 ICheckProvider.class, CHECK_PROVIDER_VALUES_ACCESSOR, true);
91
92 if (valuesAccessor == null) {
93 return EMPTY_VALUES;
94 }
95
96 return valuesAccessor.listValues(checkedValues, refValue);
97 }
98
99 public static Object getAdaptedValues(Object value, boolean useValue) {
100 IValuesAccessor valuesAccessor = getValuesAccessor(value,
101 ICheckProvider.class, CHECK_PROVIDER_VALUES_ACCESSOR, useValue);
102
103 if (valuesAccessor == null) {
104 return null;
105 }
106
107 return valuesAccessor.getAdaptedValues(value);
108 }
109
110 public static boolean setAdaptedValues(Object value, Object values) {
111 IValuesAccessor valuesAccessor = getValuesAccessor(value,
112 ICheckProvider.class, CHECK_PROVIDER_VALUES_ACCESSOR, false);
113
114 if (valuesAccessor == null) {
115 return false;
116 }
117
118 valuesAccessor.setAdaptedValues(value, values);
119 return true;
120 }
121
122 public static void check(FacesContext facesContext,
123 ICheckComponent component, Object rowValue) {
124 select((UIComponent) component, CHECK_PROVIDER_VALUES_ACCESSOR,
125 rowValue);
126 }
127
128 public static void check(FacesContext facesContext,
129 ICheckRangeComponent component, int index) {
130 select((UIComponent) component, CHECK_PROVIDER_VALUES_ACCESSOR, index);
131 }
132
133 public static void check(FacesContext facesContext,
134 ICheckRangeComponent component, int indexes[]) {
135 select((UIComponent) component, CHECK_PROVIDER_VALUES_ACCESSOR, indexes);
136 }
137
138 public static void check(FacesContext facesContext,
139 ICheckRangeComponent component, int start, int end) {
140 select((UIComponent) component, CHECK_PROVIDER_VALUES_ACCESSOR, start,
141 end);
142 }
143
144 public static void checkAll(FacesContext facesContext,
145 ICheckComponent component) {
146 selectAll((UIComponent) component, CHECK_PROVIDER_VALUES_ACCESSOR);
147 }
148
149 public static void uncheck(FacesContext facesContext,
150 ICheckComponent component, Object rowValue) {
151 deselect((UIComponent) component, CHECK_PROVIDER_VALUES_ACCESSOR,
152 rowValue);
153 }
154
155 public static void uncheck(FacesContext facesContext,
156 ICheckComponent component, int index) {
157 deselect((UIComponent) component, CHECK_PROVIDER_VALUES_ACCESSOR, index);
158 }
159
160 public static void uncheck(FacesContext facesContext,
161 ICheckComponent component, int indexes[]) {
162 deselect((UIComponent) component, CHECK_PROVIDER_VALUES_ACCESSOR,
163 indexes);
164 }
165
166 public static void uncheck(FacesContext facesContext,
167 ICheckComponent component, int start, int end) {
168 deselect((UIComponent) component, CHECK_PROVIDER_VALUES_ACCESSOR,
169 start, end);
170 }
171
172 public static void uncheckAll(FacesContext facesContext,
173 ICheckComponent component) {
174 deselectAll((UIComponent) component, CHECK_PROVIDER_VALUES_ACCESSOR);
175 }
176
177 public static void setCheckValues(FacesContext facesContext,
178 ICheckComponent component, Set valuesSet) {
179
180 setValues((UIComponent) component, CHECK_PROVIDER_VALUES_ACCESSOR,
181 valuesSet);
182 }
183
184 public static Set checkValuesToSet(FacesContext facesContext,
185 ICheckComponent component, boolean immutable) {
186 return valuesToSet((UIComponent) component,
187 CHECK_PROVIDER_VALUES_ACCESSOR, immutable);
188 }
189 }