KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > google > gwt > user > client > rpc > core > java > util > HashMap_CustomFieldSerializer


1 /*
2  * Copyright 2006 Google Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13  * License for the specific language governing permissions and limitations under
14  * the License.
15  */

16 package com.google.gwt.user.client.rpc.core.java.util;
17
18 import com.google.gwt.user.client.rpc.SerializationException;
19 import com.google.gwt.user.client.rpc.SerializationStreamReader;
20 import com.google.gwt.user.client.rpc.SerializationStreamWriter;
21
22 import java.util.HashMap JavaDoc;
23 import java.util.Iterator JavaDoc;
24 import java.util.Set JavaDoc;
25 import java.util.Map.Entry;
26
27 /**
28  * Custom field serializer for {@link java.util.HashMap}.
29  */

30 public final class HashMap_CustomFieldSerializer {
31
32   public static void deserialize(SerializationStreamReader streamReader,
33       HashMap JavaDoc instance) throws SerializationException {
34     int size = streamReader.readInt();
35
36     for (int i = 0; i < size; ++i) {
37       Object JavaDoc key = streamReader.readObject();
38       Object JavaDoc value = streamReader.readObject();
39
40       instance.put(key, value);
41     }
42   }
43
44   public static void serialize(SerializationStreamWriter streamWriter,
45       HashMap JavaDoc instance) throws SerializationException {
46     int size = instance.size();
47     streamWriter.writeInt(size);
48
49     Set JavaDoc entrySet = instance.entrySet();
50     Iterator JavaDoc iter = entrySet.iterator();
51
52     while (iter.hasNext()) {
53       Entry entry = (Entry) iter.next();
54
55       streamWriter.writeObject(entry.getKey());
56       streamWriter.writeObject(entry.getValue());
57     }
58   }
59
60 }
Popular Tags