package edu.uw.zookeeper.protocol;
import io.netty.buffer.ByteBuf;
import java.io.IOException;
import com.google.common.base.Supplier;
import edu.uw.zookeeper.net.Encoder;
public class EncodableEncoder implements Encoder<Encodable, Encodable> {
public static EncodableEncoder getInstance() {
return Holder.INSTANCE.get();
}
public static enum Holder implements Supplier<EncodableEncoder> {
INSTANCE(new EncodableEncoder());
private final EncodableEncoder instance;
private Holder(EncodableEncoder instance) {
this.instance = instance;
}
@Override
public EncodableEncoder get() {
return instance;
}
}
protected EncodableEncoder() {}
@Override
public Class<? extends Encodable> encodeType() {
return Encodable.class;
}
@Override
public void encode(Encodable input, ByteBuf output) throws IOException {
input.encode(output);
}
}