Class ImmutableMultisetGwtSerializationDependencies<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- com.google.common.collect.ImmutableCollection<E>
-
- com.google.common.collect.ImmutableMultisetGwtSerializationDependencies<E>
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Iterable<E>
,java.util.Collection<E>
- Direct Known Subclasses:
ImmutableMultiset
abstract class ImmutableMultisetGwtSerializationDependencies<E> extends ImmutableCollection<E>
A dummy superclass to support GWT serialization of the element type of anImmutableMultiset
. The GWT supersource for this class contains a field of typeE
.For details about this hack, see
GwtSerializationDependencies
, which takes the same approach but with a subclass rather than a superclass.TODO(cpovirk): Consider applying this subclass approach to our other types.
For
ImmutableMultiset
in particular, I ran into a problem with theGwtSerializationDependencies
approach: When autogenerating a serializer for the new class, GWT tries to refer to our dummy serializer for the superclass, ImmutableMultiset_CustomFieldSerializer. But that type has no methods (since it's never actually used). We could probably fix the problem by adding dummy methods to that class, but that is starting to sound harder than taking the superclass approach, which I've been coming to like, anyway, since it doesn't require us to declare dummy methods (though occasionally constructors) and make types non-final.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.common.collect.ImmutableCollection
ImmutableCollection.Builder<E>
-
-
Field Summary
-
Fields inherited from class com.google.common.collect.ImmutableCollection
SPLITERATOR_CHARACTERISTICS
-
-
Constructor Summary
Constructors Constructor Description ImmutableMultisetGwtSerializationDependencies()
-
Method Summary
-
Methods inherited from class com.google.common.collect.ImmutableCollection
add, addAll, asList, clear, contains, copyIntoArray, internalArray, internalArrayEnd, internalArrayStart, isPartialView, iterator, remove, removeAll, removeIf, retainAll, spliterator, toArray, toArray, writeReplace
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-