package de.jpaw.bonaparte.api.codecs.impl; import de.jpaw.bonaparte.api.codecs.IMessageDecoder; import de.jpaw.bonaparte.core.BonaPortable; import de.jpaw.bonaparte.core.CompactByteArrayParser; import de.jpaw.bonaparte.core.MessageParserException; import de.jpaw.bonaparte.pojos.meta.ObjectReference; public class CompactBonaparteDecoder<O extends BonaPortable> implements IMessageDecoder<O, byte []> { private final Class<O> decoderClass; public CompactBonaparteDecoder(Class<O> decoderClass) { this.decoderClass = decoderClass; } @Override public O decode(byte [] data, ObjectReference di) throws MessageParserException { final CompactByteArrayParser cbap = new CompactByteArrayParser(data, 0, -1); return cbap.readObject(di, decoderClass); } }