* Base class for {@link ImmutableOffsetMap} serialization proxies. Implements most of the serialization form at logic.
*/
abstract class IOMv1<T extends ImmutableOffsetMap<?, ?>> implements Externalizable {
+ private static final long serialVersionUID = 1;
+
private ImmutableOffsetMap<?, ?> map;
IOMv1() {
values[i] = in.readObject();
}
- map = verifyNotNull(readReplace(keysBuilder.build(), values));
+ map = verifyNotNull(createInstance(keysBuilder.build(), values));
}
- final Object readReplace() {
+ abstract @NonNull T createInstance(@NonNull ImmutableList<Object> keys, @NonNull Object[] values);
+
+ final Object readResolve() {
return verifyNotNull(map);
}
-
- abstract @NonNull T readReplace(@NonNull ImmutableList<Object> keys, @NonNull Object[] values);
}