KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > ubermq > jms > client > msg > LocalMapMessage


1 package com.ubermq.jms.client.msg;
2
3 import com.ubermq.jms.client.*;
4 import com.ubermq.jms.client.impl.*;
5 import com.ubermq.jms.common.datagram.*;
6 import java.util.*;
7 import javax.jms.*;
8
9 /**
10  * An implementation of the JMS Map Message that stores a map of key value
11  * pairs and is able to serialize those values to the wire.
12  */

13 public final class LocalMapMessage
14     extends LocalMessage
15     implements javax.jms.MapMessage JavaDoc
16 {
17     private Map map;
18
19     public LocalMapMessage(IMessageDatagram md, IAcknowledgeHandler a) {super(md, a); map = (HashMap)super.getBody();}
20     public LocalMapMessage(IMessageDatagramFactory f) {super(f); map = new HashMap();}
21
22     public int getMessageType() {return LocalMessage.MSGTYPE_MAP;}
23     public void prepareForPublish()
24     {
25         super.prepareForPublish();
26         super.setBody(map);
27     }
28
29     public void setChar(String JavaDoc str, char param) throws javax.jms.JMSException JavaDoc
30     {
31         checkSetOperation(str);
32         map.put(str, new Character JavaDoc(param));
33     }
34
35     public void setLong(String JavaDoc str, long param) throws javax.jms.JMSException JavaDoc {
36         checkSetOperation(str);
37         map.put(str, new Long JavaDoc(param));
38     }
39
40     public void setDouble(String JavaDoc str, double param) throws javax.jms.JMSException JavaDoc {
41         checkSetOperation(str);
42         map.put(str, new Double JavaDoc(param));
43     }
44
45     public void setByte(String JavaDoc str, byte param) throws javax.jms.JMSException JavaDoc {
46         checkSetOperation(str);
47         map.put(str, new Byte JavaDoc(param));
48     }
49
50     public String JavaDoc getString(String JavaDoc str) throws javax.jms.JMSException JavaDoc {
51         try {
52             return (String JavaDoc)map.get(str);
53         } catch(ClassCastException JavaDoc cce) {
54             throw new javax.jms.MessageFormatException JavaDoc(cce.toString());
55         }
56     }
57
58     public int getInt(String JavaDoc str) throws javax.jms.JMSException JavaDoc {
59         try {
60             return ((Integer JavaDoc)map.get(str)).intValue();
61         } catch(ClassCastException JavaDoc cce) {
62             throw new javax.jms.MessageFormatException JavaDoc(cce.toString());
63         }
64     }
65
66     public Object JavaDoc getObject(String JavaDoc str) throws javax.jms.JMSException JavaDoc {
67         try {
68             return map.get(str);
69         } catch(ClassCastException JavaDoc cce) {
70             throw new javax.jms.MessageFormatException JavaDoc(cce.toString());
71         }
72     }
73
74     public byte[] getBytes(String JavaDoc str) throws javax.jms.JMSException JavaDoc {
75         try {
76             return (byte[])map.get(str);
77         } catch(ClassCastException JavaDoc cce) {
78             throw new javax.jms.MessageFormatException JavaDoc(cce.toString());
79         }
80     }
81
82     public float getFloat(String JavaDoc str) throws javax.jms.JMSException JavaDoc {
83         try {
84             return ((Float JavaDoc)map.get(str)).floatValue();
85         } catch(ClassCastException JavaDoc cce) {
86             throw new javax.jms.MessageFormatException JavaDoc(cce.toString());
87         }
88     }
89
90     public java.util.Enumeration JavaDoc getMapNames() throws javax.jms.JMSException JavaDoc {
91         try {
92             Vector v = new Vector();
93             v.addAll(map.keySet());
94             return v.elements();
95         } catch(Exception JavaDoc cce) {
96             throw new javax.jms.MessageFormatException JavaDoc(cce.toString());
97         }
98     }
99
100     public void setObject(String JavaDoc str, Object JavaDoc obj) throws javax.jms.JMSException JavaDoc {
101         checkSetOperation(str);
102         map.put(str, obj);
103     }
104
105     public void setBoolean(String JavaDoc str, boolean param) throws javax.jms.JMSException JavaDoc {
106         checkSetOperation(str);
107         map.put(str, new Boolean JavaDoc(param));
108     }
109
110     public boolean itemExists(String JavaDoc str) throws javax.jms.JMSException JavaDoc {
111         return (map.get(str) != null);
112     }
113
114     public char getChar(String JavaDoc str) throws javax.jms.JMSException JavaDoc {
115         try {
116             return ((Character JavaDoc)map.get(str)).charValue();
117         } catch(ClassCastException JavaDoc cce) {
118             throw new javax.jms.MessageFormatException JavaDoc(cce.toString());
119         }
120     }
121
122     public void setInt(String JavaDoc str, int param) throws javax.jms.JMSException JavaDoc {
123         checkSetOperation(str);
124         map.put(str, new Integer JavaDoc(param));
125     }
126
127     public void setBytes(String JavaDoc str, byte[] values) throws javax.jms.JMSException JavaDoc {
128         checkSetOperation(str);
129         map.put(str, values);
130     }
131
132     public void setShort(String JavaDoc str, short param) throws javax.jms.JMSException JavaDoc {
133         checkSetOperation(str);
134         map.put(str, new Short JavaDoc(param));
135     }
136
137     public void setFloat(String JavaDoc str, float param) throws javax.jms.JMSException JavaDoc {
138         checkSetOperation(str);
139         map.put(str, new Float JavaDoc(param));
140     }
141
142     public void setBytes(String JavaDoc str, byte[] values, int param, int param3) throws javax.jms.JMSException JavaDoc {
143         checkSetOperation(str);
144
145         try {
146             byte[] a = new byte[param3];
147             for(int i = 0;i < param3;i++)
148             {
149                 a[i] = values[i + param];
150             }
151             map.put(str, a);
152         } catch(Exception JavaDoc x) {
153             throw new javax.jms.JMSException JavaDoc(x.toString());
154         }
155     }
156
157     public short getShort(String JavaDoc str) throws javax.jms.JMSException JavaDoc {
158         try {
159             return ((Short JavaDoc)map.get(str)).shortValue();
160         } catch(ClassCastException JavaDoc cce) {
161             throw new javax.jms.MessageFormatException JavaDoc(cce.toString());
162         }
163     }
164
165     public double getDouble(String JavaDoc str) throws javax.jms.JMSException JavaDoc {
166         try {
167             return ((Double JavaDoc)map.get(str)).doubleValue();
168         } catch(ClassCastException JavaDoc cce) {
169             throw new javax.jms.MessageFormatException JavaDoc(cce.toString());
170         }
171     }
172
173     public byte getByte(String JavaDoc str) throws javax.jms.JMSException JavaDoc {
174         try {
175             return ((Byte JavaDoc)map.get(str)).byteValue();
176         } catch(ClassCastException JavaDoc cce) {
177             throw new javax.jms.MessageFormatException JavaDoc(cce.toString());
178         }
179     }
180
181     public long getLong(String JavaDoc str) throws javax.jms.JMSException JavaDoc {
182         try {
183             return ((Long JavaDoc)map.get(str)).longValue();
184         } catch(ClassCastException JavaDoc cce) {
185             throw new javax.jms.MessageFormatException JavaDoc(cce.toString());
186         }
187     }
188
189     public boolean getBoolean(String JavaDoc str) throws javax.jms.JMSException JavaDoc {
190         try {
191             return ((Boolean JavaDoc)map.get(str)).booleanValue();
192         } catch(ClassCastException JavaDoc cce) {
193             throw new javax.jms.MessageFormatException JavaDoc(cce.toString());
194         }
195     }
196
197     public void setString(String JavaDoc str, String JavaDoc str1) throws javax.jms.JMSException JavaDoc {
198         checkSetOperation(str);
199         map.put(str, str1);
200     }
201
202     private void checkSetOperation(String JavaDoc str)
203         throws IllegalArgumentException JavaDoc, MessageNotWriteableException
204     {
205         if (!isWriteable())
206             throw new MessageNotWriteableException("not writeable");
207         if (str == null ||
208             str.length() == 0)
209             throw new IllegalArgumentException JavaDoc("invalid key");
210     }
211
212 }
213
Popular Tags