import javax.annotation.concurrent.ThreadSafe;
@ThreadSafe
-public class HandlerRegistry<CLASS, PARSER, SERIALIZER> {
- private final MultiRegistry<Class<? extends CLASS>, SERIALIZER> serializers = new MultiRegistry<>();
- private final MultiRegistry<Integer, PARSER> parsers = new MultiRegistry<>();
+public class HandlerRegistry<C, P, S> {
+ private final MultiRegistry<Class<? extends C>, S> serializers = new MultiRegistry<>();
+ private final MultiRegistry<Integer, P> parsers = new MultiRegistry<>();
- public AbstractRegistration registerParser(final int type, final PARSER parser) {
+ public AbstractRegistration registerParser(final int type, final P parser) {
return parsers.register(type, parser);
}
- public PARSER getParser(final int type) {
+ public P getParser(final int type) {
return parsers.get(type);
}
- public AbstractRegistration registerSerializer(final Class<? extends CLASS> clazz, final SERIALIZER serializer) {
+ public AbstractRegistration registerSerializer(final Class<? extends C> clazz, final S serializer) {
return serializers.register(clazz, serializer);
}
- public SERIALIZER getSerializer(final Class<? extends CLASS> clazz) {
+ public S getSerializer(final Class<? extends C> clazz) {
return serializers.get(clazz);
}
}