Skip to content

Instantly share code, notes, and snippets.

@udoprog
Last active February 9, 2016 14:42
Show Gist options
  • Select an option

  • Save udoprog/de9535a67ea9703da649 to your computer and use it in GitHub Desktop.

Select an option

Save udoprog/de9535a67ea9703da649 to your computer and use it in GitHub Desktop.
public class SerializerTest {
public abstract class SerializerBase<T extends SomeType> implements Serializer<T> {
private final Serializer<Integer> number;
public SerializerBase(final SerializerFramework s) {
this.number = s.fixedInteger();
}
@Override
public void serialize(SerialWriter buffer, T value) throws IOException {
this.number.serialize(buffer, value.getNumber());
this.serializeNext(buffer, value);
}
@Override
public void deserialize(SerialReader buffer) throws IOException {
final int number = this.number.deserialize(buffer);
return this.deserializeNext(buffer, number);
}
public abstract void serializeNext(SerialWriter buffer, T value);
public abstract T deserializeNext(SerialWriter buffer, int number);
}
public static interface SomeType {
int getNumber();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment