// 
// Decompiled by Procyon v0.6.0
// 

package org.bson.codecs;

import org.bson.BsonInvalidOperationException;
import org.bson.BsonReader;
import org.bson.BsonWriter;

public class ByteCodec implements Codec<Byte>
{
    @Override
    public void encode(final BsonWriter writer, final Byte value, final EncoderContext encoderContext) {
        writer.writeInt32(value);
    }
    
    @Override
    public Byte decode(final BsonReader reader, final DecoderContext decoderContext) {
        final int value = NumberCodecHelper.decodeInt(reader);
        if (value < -128 || value > 127) {
            throw new BsonInvalidOperationException(String.format("%s can not be converted into a Byte.", value));
        }
        return (byte)value;
    }
    
    @Override
    public Class<Byte> getEncoderClass() {
        return Byte.class;
    }
}
