1
2
3
4 package org.rcfaces.core.model;
5
6 import java.util.Collection;
7 import java.util.Collections;
8 import java.util.HashMap;
9 import java.util.Map;
10
11 import javax.faces.application.FacesMessage;
12
13 import org.rcfaces.core.component.capability.IClientDataCapability;
14
15
16
17
18
19
20 public class ClientFacesMessage extends FacesMessage implements
21 IClientDataCapability {
22 private static final String REVISION = "$Revision: 1.1 $";
23
24 private static final long serialVersionUID = 4456702905941225305L;
25
26 private Map clientDataMap;
27
28 public ClientFacesMessage() {
29 super();
30 }
31
32 public ClientFacesMessage(Severity severity, String summary, String detail) {
33 super(severity, summary, detail);
34 }
35
36 public ClientFacesMessage(String summary, String detail) {
37 super(summary, detail);
38 }
39
40 public ClientFacesMessage(String summary) {
41 super(summary);
42 }
43
44 public String getClientData(String name) {
45 if (clientDataMap == null) {
46 return null;
47 }
48
49 return (String) clientDataMap.get(name);
50 }
51
52 public int getClientDataCount() {
53 if (clientDataMap == null) {
54 return 0;
55 }
56
57 return clientDataMap.size();
58 }
59
60 public Map getClientDataMap() {
61 if (clientDataMap == null) {
62 return Collections.EMPTY_MAP;
63 }
64 return new HashMap(clientDataMap);
65 }
66
67 public String[] listClientDataKeys() {
68 if (clientDataMap == null || clientDataMap.isEmpty()) {
69 return new String[] {};
70 }
71
72 Collection keys = clientDataMap.keySet();
73
74 return (String[]) keys.toArray(new String[keys.size()]);
75 }
76
77 public String removeClientData(String name) {
78 if (clientDataMap == null) {
79 return null;
80 }
81
82 return (String) clientDataMap.remove(name);
83 }
84
85 public String setClientData(String name, String data) {
86 if (clientDataMap == null) {
87 return null;
88 }
89
90 return (String) clientDataMap.put(name, data);
91 }
92
93 }