1 /* 2 * Copyright (C) 2009 The Guava Authors 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of 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, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.google.common.collect; 18 19 import com.google.gwt.user.client.rpc.SerializationException; 20 import com.google.gwt.user.client.rpc.SerializationStreamReader; 21 import com.google.gwt.user.client.rpc.SerializationStreamWriter; 22 import java.util.Comparator; 23 24 /** 25 * This class implements the GWT serialization of {@link TreeMultimap}. 26 * 27 * @author Nikhil Singhal 28 */ 29 public class TreeMultimap_CustomFieldSerializer { 30 deserialize(SerializationStreamReader in, TreeMultimap<?, ?> out)31 public static void deserialize(SerializationStreamReader in, TreeMultimap<?, ?> out) {} 32 33 @SuppressWarnings("unchecked") instantiate(SerializationStreamReader in)34 public static TreeMultimap<Object, Object> instantiate(SerializationStreamReader in) 35 throws SerializationException { 36 Comparator<Object> keyComparator = (Comparator<Object>) in.readObject(); 37 Comparator<Object> valueComparator = (Comparator<Object>) in.readObject(); 38 39 return (TreeMultimap<Object, Object>) 40 Multimap_CustomFieldSerializerBase.populate( 41 in, TreeMultimap.create(keyComparator, valueComparator)); 42 } 43 serialize(SerializationStreamWriter out, TreeMultimap<?, ?> multimap)44 public static void serialize(SerializationStreamWriter out, TreeMultimap<?, ?> multimap) 45 throws SerializationException { 46 out.writeObject(multimap.keyComparator()); 47 out.writeObject(multimap.valueComparator()); 48 Multimap_CustomFieldSerializerBase.serialize(out, multimap); 49 } 50 } 51