1 package org.rcfaces.core.component;
2
3 import javax.faces.component.UIComponent;
4 import org.rcfaces.core.internal.tools.CollectionTools.IComponentValueType;
5 import org.rcfaces.core.internal.component.Properties;
6 import org.rcfaces.core.component.capability.IClientAdditionalInformationFullStateCapability;
7 import org.apache.commons.logging.LogFactory;
8 import org.rcfaces.core.component.capability.IHeaderVisibilityCapability;
9 import org.rcfaces.core.internal.tools.CollectionTools.IComponentValueTypeCapability;
10 import org.rcfaces.core.component.capability.IPagedCapability;
11 import javax.faces.context.FacesContext;
12 import org.rcfaces.core.internal.tools.GridTools;
13 import org.rcfaces.core.component.ComboColumnComponent;
14 import org.rcfaces.core.component.capability.IRowStyleClassCapability;
15 import org.apache.commons.logging.Log;
16 import org.rcfaces.core.internal.tools.SortTools;
17 import org.rcfaces.core.component.capability.ISortedChildrenCapability;
18 import org.rcfaces.core.component.capability.IAdditionalInformationCardinalityCapability;
19 import java.util.Set;
20 import org.rcfaces.core.internal.capability.IAdditionalInformationRangeComponent;
21 import org.rcfaces.core.component.capability.IAdditionalInformationEventCapability;
22 import org.rcfaces.core.model.ISortedComponent;
23 import org.rcfaces.core.internal.tools.AdditionalInformationTools;
24 import org.rcfaces.core.component.iterator.IAdditionalInformationIterator;
25 import org.rcfaces.core.internal.tools.OrderTools;
26 import org.rcfaces.core.component.KeyEntryComponent;
27 import java.lang.String;
28 import org.rcfaces.core.component.iterator.IColumnIterator;
29 import org.rcfaces.core.internal.converter.ClientFullStateConverter;
30 import org.rcfaces.core.component.capability.IAdditionalInformationValuesCapability;
31 import javax.el.ValueExpression;
32 import java.util.HashSet;
33 import org.rcfaces.core.component.capability.IFilterCapability;
34 import java.util.Arrays;
35 import org.rcfaces.core.component.capability.IOrderedChildrenCapability;
36 import org.rcfaces.core.internal.tools.CollectionTools;
37 import org.rcfaces.core.component.capability.IPagerMessageCapability;
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 public class ComboGridComponent extends KeyEntryComponent implements
87 IAdditionalInformationEventCapability,
88 IAdditionalInformationValuesCapability,
89 IClientAdditionalInformationFullStateCapability,
90 IAdditionalInformationCardinalityCapability,
91 IRowStyleClassCapability,
92 IPagerMessageCapability,
93 IFilterCapability,
94 IPagedCapability,
95 IHeaderVisibilityCapability,
96 IOrderedChildrenCapability,
97 ISortedChildrenCapability,
98 IComponentValueTypeCapability,
99 IAdditionalInformationRangeComponent {
100
101 private static final Log LOG = LogFactory.getLog(ComboGridComponent.class);
102
103 public static final String COMPONENT_TYPE="org.rcfaces.core.comboGrid";
104
105 protected static final Set CAMELIA_ATTRIBUTES=new HashSet(KeyEntryComponent.CAMELIA_ATTRIBUTES);
106 static {
107 CAMELIA_ATTRIBUTES.addAll(Arrays.asList(new String[] {"headerVisible","filterProperties","clientAdditionalInformationFullState","manyResultsMessage","pagerStyleClass","rowStyleClass","zeroResultMessage","gridStyleClass","popupStyleClass","gridLookId","pagerLookId","message","searchFieldVisible","paged","additionalInformationValues","additionalInformationListener","oneResultMessage","popupHeight","additionalInformationCardinality","popupWidth"}));
108 }
109
110 public ComboGridComponent() {
111 setRendererType(COMPONENT_TYPE);
112 }
113
114 public ComboGridComponent(String componentId) {
115 this();
116 setId(componentId);
117 }
118
119 public UIComponent[] getSortedChildren() {
120
121
122 return SortTools.getSortedChildren(null, this, engine, ComboColumnComponent.class);
123
124 }
125
126 public void setSortedChildren(UIComponent[] components) {
127
128
129 SortTools.setSortedChildren(null, this, engine, ComboColumnComponent.class, components);
130
131 }
132
133 public void setOrderedChildren(UIComponent[] components) {
134
135
136 OrderTools.setOrderedChildren(null, this, engine, ComboColumnComponent.class, components);
137
138 }
139
140 public UIComponent[] getOrderedChildren() {
141
142
143 return OrderTools.getOrderedChildren(null, this, engine, ComboColumnComponent.class);
144
145 }
146
147 public IComponentValueType getComponentValueType() {
148
149
150 return GridTools.COMBO_GRID_VALUE_TYPE;
151
152 }
153
154 public IColumnIterator listColumns() {
155
156
157 return GridTools.listColumns(this, ComboColumnComponent.class);
158
159 }
160
161 public IAdditionalInformationIterator listAdditionalInformations() {
162
163
164 return AdditionalInformationTools.listAdditionalInformations(this);
165
166 }
167
168 public void setClientAdditionalInformationFullState(String state) {
169
170
171 setClientAdditionalInformationFullState(((Integer)ClientFullStateConverter.SINGLETON.getAsObject(null, this, state)).intValue());
172
173 }
174
175 public int getAdditionalInformationValuesCount() {
176
177
178 return AdditionalInformationTools.getCount(getAdditionalInformationValues());
179
180 }
181
182 public Object getFirstAdditionalInformationValue() {
183
184
185 return AdditionalInformationTools.getFirst(getAdditionalInformationValues(), null);
186
187 }
188
189 public Object getAdditionalInformationValues(FacesContext facesContext) {
190
191
192 return engine.getValue(Properties.ADDITIONAL_INFORMATION_VALUES, facesContext);
193
194 }
195
196 public Object[] listAdditionalInformationValues() {
197
198
199 return AdditionalInformationTools.listValues(getAdditionalInformationValues(), getValue());
200
201 }
202
203 public ComboColumnComponent[] getSortedColumns() {
204
205
206 return (ComboColumnComponent[])getSortedChildren();
207
208 }
209
210 public ComboColumnComponent getFirstSortedColumn() {
211
212
213 return (ComboColumnComponent)SortTools.getFirstSortedChild(null, this, engine, ComboColumnComponent.class );
214
215 }
216
217 public void setSortedColumn(ComboColumnComponent comboColumn) {
218
219
220 SortTools.setSortedChildren(null, this, engine, ComboColumnComponent.class, new ComboColumnComponent[] { comboColumn });
221
222 }
223
224 public void setSortedColumns(ComboColumnComponent[] componentsColumns) {
225
226
227 setSortedChildren(componentsColumns);
228
229 }
230
231 public ISortedComponent[] listSortedComponents() {
232
233
234 return listSortedComponents(null);
235
236 }
237
238 public ISortedComponent[] listSortedComponents(FacesContext context) {
239
240
241 return GridTools.listSortedComponents(context, this);
242
243 }
244
245 public void showAdditionalInformation(Object rowValue) {
246
247
248 AdditionalInformationTools.show(null, this, rowValue);
249
250 }
251
252 public void showAdditionalInformation(int index) {
253
254
255 AdditionalInformationTools.show(null, this, index);
256
257 }
258
259 public void showAdditionalInformation(int[] indexes) {
260
261
262 AdditionalInformationTools.show(null, this, indexes);
263
264 }
265
266 public void showAllAdditionalInformations() {
267
268
269 AdditionalInformationTools.showAll(null, this);
270
271 }
272
273 public void hideAdditionalInformation(Object rowValue) {
274
275
276 AdditionalInformationTools.hide(null, this, rowValue);
277
278 }
279
280 public void hideAdditionalInformation(int index) {
281
282
283 AdditionalInformationTools.hide(null, this, index);
284
285 }
286
287 public void hideAdditionalInformation(int[] indexes) {
288
289
290 AdditionalInformationTools.hide(null, this, indexes);
291
292 }
293
294 public void hideAllAdditionalInformations() {
295
296
297 AdditionalInformationTools.hideAll(null, this);
298
299 }
300
301 public final void addAdditionalInformationListener(org.rcfaces.core.event.IAdditionalInformationListener listener) {
302 addFacesListener(listener);
303 }
304
305 public final void removeAdditionalInformationListener(org.rcfaces.core.event.IAdditionalInformationListener listener) {
306 removeFacesListener(listener);
307 }
308
309 public final javax.faces.event.FacesListener [] listAdditionalInformationListeners() {
310 return getFacesListeners(org.rcfaces.core.event.IAdditionalInformationListener.class);
311 }
312
313 public java.lang.Object getAdditionalInformationValues() {
314 return getAdditionalInformationValues(null);
315 }
316
317
318
319
320
321 public final boolean isAdditionalInformationValuesSetted() {
322 return engine.isPropertySetted(Properties.ADDITIONAL_INFORMATION_VALUES);
323 }
324
325 public void setAdditionalInformationValues(java.lang.Object additionalInformationValues) {
326 engine.setProperty(Properties.ADDITIONAL_INFORMATION_VALUES, additionalInformationValues);
327 }
328
329
330
331
332 public Class getAdditionalInformationValuesType(javax.faces.context.FacesContext facesContext) {
333 ValueExpression valueExpression=engine.getValueExpressionProperty(Properties.ADDITIONAL_INFORMATION_VALUES);
334 if (valueExpression==null) {
335 return null;
336 }
337 if (facesContext==null) {
338 facesContext=javax.faces.context.FacesContext.getCurrentInstance();
339 }
340 return valueExpression.getType(facesContext.getELContext());
341 }
342
343 public int getClientAdditionalInformationFullState() {
344 return getClientAdditionalInformationFullState(null);
345 }
346
347
348
349
350 public int getClientAdditionalInformationFullState(javax.faces.context.FacesContext facesContext) {
351 return engine.getIntProperty(Properties.CLIENT_ADDITIONAL_INFORMATION_FULL_STATE,0, facesContext);
352 }
353
354
355
356
357
358 public final boolean isClientAdditionalInformationFullStateSetted() {
359 return engine.isPropertySetted(Properties.CLIENT_ADDITIONAL_INFORMATION_FULL_STATE);
360 }
361
362 public void setClientAdditionalInformationFullState(int clientAdditionalInformationFullState) {
363 engine.setProperty(Properties.CLIENT_ADDITIONAL_INFORMATION_FULL_STATE, clientAdditionalInformationFullState);
364 }
365
366 public int getAdditionalInformationCardinality() {
367 return getAdditionalInformationCardinality(null);
368 }
369
370
371
372
373 public int getAdditionalInformationCardinality(javax.faces.context.FacesContext facesContext) {
374 return engine.getIntProperty(Properties.ADDITIONAL_INFORMATION_CARDINALITY,0, facesContext);
375 }
376
377
378
379
380
381 public final boolean isAdditionalInformationCardinalitySetted() {
382 return engine.isPropertySetted(Properties.ADDITIONAL_INFORMATION_CARDINALITY);
383 }
384
385 public void setAdditionalInformationCardinality(int additionalInformationCardinality) {
386 engine.setProperty(Properties.ADDITIONAL_INFORMATION_CARDINALITY, additionalInformationCardinality);
387 }
388
389 public java.lang.String getRowStyleClass() {
390 return getRowStyleClass(null);
391 }
392
393
394
395
396 public java.lang.String getRowStyleClass(javax.faces.context.FacesContext facesContext) {
397 return engine.getStringProperty(Properties.ROW_STYLE_CLASS, facesContext);
398 }
399
400
401
402
403
404 public final boolean isRowStyleClassSetted() {
405 return engine.isPropertySetted(Properties.ROW_STYLE_CLASS);
406 }
407
408 public void setRowStyleClass(java.lang.String rowStyleClass) {
409 engine.setProperty(Properties.ROW_STYLE_CLASS, rowStyleClass);
410 }
411
412 public java.lang.String getManyResultsMessage() {
413 return getManyResultsMessage(null);
414 }
415
416
417
418
419 public java.lang.String getManyResultsMessage(javax.faces.context.FacesContext facesContext) {
420 return engine.getStringProperty(Properties.MANY_RESULTS_MESSAGE, facesContext);
421 }
422
423
424
425
426
427 public final boolean isManyResultsMessageSetted() {
428 return engine.isPropertySetted(Properties.MANY_RESULTS_MESSAGE);
429 }
430
431 public void setManyResultsMessage(java.lang.String manyResultsMessage) {
432 engine.setProperty(Properties.MANY_RESULTS_MESSAGE, manyResultsMessage);
433 }
434
435 public java.lang.String getMessage() {
436 return getMessage(null);
437 }
438
439
440
441
442 public java.lang.String getMessage(javax.faces.context.FacesContext facesContext) {
443 return engine.getStringProperty(Properties.MESSAGE, facesContext);
444 }
445
446
447
448
449
450 public final boolean isMessageSetted() {
451 return engine.isPropertySetted(Properties.MESSAGE);
452 }
453
454 public void setMessage(java.lang.String message) {
455 engine.setProperty(Properties.MESSAGE, message);
456 }
457
458 public java.lang.String getOneResultMessage() {
459 return getOneResultMessage(null);
460 }
461
462
463
464
465 public java.lang.String getOneResultMessage(javax.faces.context.FacesContext facesContext) {
466 return engine.getStringProperty(Properties.ONE_RESULT_MESSAGE, facesContext);
467 }
468
469
470
471
472
473 public final boolean isOneResultMessageSetted() {
474 return engine.isPropertySetted(Properties.ONE_RESULT_MESSAGE);
475 }
476
477 public void setOneResultMessage(java.lang.String oneResultMessage) {
478 engine.setProperty(Properties.ONE_RESULT_MESSAGE, oneResultMessage);
479 }
480
481 public java.lang.String getZeroResultMessage() {
482 return getZeroResultMessage(null);
483 }
484
485
486
487
488 public java.lang.String getZeroResultMessage(javax.faces.context.FacesContext facesContext) {
489 return engine.getStringProperty(Properties.ZERO_RESULT_MESSAGE, facesContext);
490 }
491
492
493
494
495
496 public final boolean isZeroResultMessageSetted() {
497 return engine.isPropertySetted(Properties.ZERO_RESULT_MESSAGE);
498 }
499
500 public void setZeroResultMessage(java.lang.String zeroResultMessage) {
501 engine.setProperty(Properties.ZERO_RESULT_MESSAGE, zeroResultMessage);
502 }
503
504 public boolean isPaged() {
505 return isPaged(null);
506 }
507
508
509
510
511 public boolean isPaged(javax.faces.context.FacesContext facesContext) {
512 return engine.getBoolProperty(Properties.PAGED, false, facesContext);
513 }
514
515 public boolean isPagedSetted() {
516
517
518 return engine.isPropertySetted(Properties.PAGED);
519
520 }
521
522 public void setPaged(boolean paged) {
523 engine.setProperty(Properties.PAGED, paged);
524 }
525
526 public boolean isHeaderVisible() {
527 return isHeaderVisible(null);
528 }
529
530
531
532
533 public boolean isHeaderVisible(javax.faces.context.FacesContext facesContext) {
534 return engine.getBoolProperty(Properties.HEADER_VISIBLE, true, facesContext);
535 }
536
537
538
539
540
541 public final boolean isHeaderVisibleSetted() {
542 return engine.isPropertySetted(Properties.HEADER_VISIBLE);
543 }
544
545 public void setHeaderVisible(boolean headerVisible) {
546 engine.setProperty(Properties.HEADER_VISIBLE, headerVisible);
547 }
548
549 public int getPopupWidth() {
550 return getPopupWidth(null);
551 }
552
553 public int getPopupWidth(javax.faces.context.FacesContext facesContext) {
554 return engine.getIntProperty(Properties.POPUP_WIDTH, 0, facesContext);
555 }
556
557 public void setPopupWidth(int popupWidth) {
558 engine.setProperty(Properties.POPUP_WIDTH, popupWidth);
559 }
560
561
562
563
564
565 public boolean isPopupWidthSetted() {
566 return engine.isPropertySetted(Properties.POPUP_WIDTH);
567 }
568
569 public int getPopupHeight() {
570 return getPopupHeight(null);
571 }
572
573 public int getPopupHeight(javax.faces.context.FacesContext facesContext) {
574 return engine.getIntProperty(Properties.POPUP_HEIGHT, 0, facesContext);
575 }
576
577 public void setPopupHeight(int popupHeight) {
578 engine.setProperty(Properties.POPUP_HEIGHT, popupHeight);
579 }
580
581
582
583
584
585 public boolean isPopupHeightSetted() {
586 return engine.isPropertySetted(Properties.POPUP_HEIGHT);
587 }
588
589 public String getPagerStyleClass() {
590 return getPagerStyleClass(null);
591 }
592
593 public String getPagerStyleClass(javax.faces.context.FacesContext facesContext) {
594 return engine.getStringProperty(Properties.PAGER_STYLE_CLASS, facesContext);
595 }
596
597 public void setPagerStyleClass(String pagerStyleClass) {
598 engine.setProperty(Properties.PAGER_STYLE_CLASS, pagerStyleClass);
599 }
600
601
602
603
604
605 public boolean isPagerStyleClassSetted() {
606 return engine.isPropertySetted(Properties.PAGER_STYLE_CLASS);
607 }
608
609 public String getPagerLookId() {
610 return getPagerLookId(null);
611 }
612
613 public String getPagerLookId(javax.faces.context.FacesContext facesContext) {
614 return engine.getStringProperty(Properties.PAGER_LOOK_ID, facesContext);
615 }
616
617 public void setPagerLookId(String pagerLookId) {
618 engine.setProperty(Properties.PAGER_LOOK_ID, pagerLookId);
619 }
620
621
622
623
624
625 public boolean isPagerLookIdSetted() {
626 return engine.isPropertySetted(Properties.PAGER_LOOK_ID);
627 }
628
629 public String getPopupStyleClass() {
630 return getPopupStyleClass(null);
631 }
632
633 public String getPopupStyleClass(javax.faces.context.FacesContext facesContext) {
634 return engine.getStringProperty(Properties.POPUP_STYLE_CLASS, facesContext);
635 }
636
637 public void setPopupStyleClass(String popupStyleClass) {
638 engine.setProperty(Properties.POPUP_STYLE_CLASS, popupStyleClass);
639 }
640
641
642
643
644
645 public boolean isPopupStyleClassSetted() {
646 return engine.isPropertySetted(Properties.POPUP_STYLE_CLASS);
647 }
648
649 public String getGridStyleClass() {
650 return getGridStyleClass(null);
651 }
652
653 public String getGridStyleClass(javax.faces.context.FacesContext facesContext) {
654 return engine.getStringProperty(Properties.GRID_STYLE_CLASS, facesContext);
655 }
656
657 public void setGridStyleClass(String gridStyleClass) {
658 engine.setProperty(Properties.GRID_STYLE_CLASS, gridStyleClass);
659 }
660
661
662
663
664
665 public boolean isGridStyleClassSetted() {
666 return engine.isPropertySetted(Properties.GRID_STYLE_CLASS);
667 }
668
669 public String getGridLookId() {
670 return getGridLookId(null);
671 }
672
673 public String getGridLookId(javax.faces.context.FacesContext facesContext) {
674 return engine.getStringProperty(Properties.GRID_LOOK_ID, facesContext);
675 }
676
677 public void setGridLookId(String gridLookId) {
678 engine.setProperty(Properties.GRID_LOOK_ID, gridLookId);
679 }
680
681
682
683
684
685 public boolean isGridLookIdSetted() {
686 return engine.isPropertySetted(Properties.GRID_LOOK_ID);
687 }
688
689 public boolean isSearchFieldVisible() {
690 return isSearchFieldVisible(null);
691 }
692
693 public boolean isSearchFieldVisible(javax.faces.context.FacesContext facesContext) {
694 return engine.getBoolProperty(Properties.SEARCH_FIELD_VISIBLE, true, facesContext);
695 }
696
697 public void setSearchFieldVisible(boolean searchFieldVisible) {
698 engine.setProperty(Properties.SEARCH_FIELD_VISIBLE, searchFieldVisible);
699 }
700
701
702
703
704
705 public boolean isSearchFieldVisibleSetted() {
706 return engine.isPropertySetted(Properties.SEARCH_FIELD_VISIBLE);
707 }
708
709 protected Set getCameliaFields() {
710 return CAMELIA_ATTRIBUTES;
711 }
712 }