blob: 50d53f75025137014e82ecf4fcc1124f7a516bd8 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.qpid.proton;
import org.apache.qpid.proton.TestDecoder;
import org.apache.qpid.proton.amqp.Binary;
import org.apache.qpid.proton.amqp.Decimal128;
import org.apache.qpid.proton.amqp.Decimal32;
import org.apache.qpid.proton.amqp.Decimal64;
import org.apache.qpid.proton.amqp.Symbol;
import org.apache.qpid.proton.amqp.UnsignedByte;
import org.apache.qpid.proton.amqp.UnsignedInteger;
import org.apache.qpid.proton.amqp.UnsignedLong;
import org.apache.qpid.proton.amqp.UnsignedShort;
import org.apache.qpid.proton.codec.AMQPDefinedTypes;
import org.apache.qpid.proton.codec.DecoderImpl;
import org.apache.qpid.proton.codec.EncoderImpl;
import java.nio.ByteBuffer;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.UUID;
/**
* TestDecoder is a stripped-down decoder used by interop tests to decode AMQP
* data. The native version wraps a DecoderImpl, while the JNI version wraps a
* Data object.
*/
public class TestDecoder {
private DecoderImpl decoder;
private EncoderImpl encoder;
private ByteBuffer buffer;
TestDecoder(byte[] data) {
decoder = new DecoderImpl();
encoder = new EncoderImpl(decoder);
AMQPDefinedTypes.registerAllTypes(decoder, encoder);
buffer = ByteBuffer.allocate(data.length);
buffer.put(data);
buffer.rewind();
decoder.setByteBuffer(buffer);
}
public Boolean readBoolean() { return decoder.readBoolean(); }
public Byte readByte() { return decoder.readByte(); }
public Short readShort() { return decoder.readShort(); }
public Integer readInteger() { return decoder.readInteger(); }
public Long readLong() { return decoder.readLong(); }
public UnsignedByte readUnsignedByte() { return decoder.readUnsignedByte(); }
public UnsignedShort readUnsignedShort() { return decoder.readUnsignedShort(); }
public UnsignedInteger readUnsignedInteger() { return decoder.readUnsignedInteger(); }
public UnsignedLong readUnsignedLong() { return decoder.readUnsignedLong(); }
public Character readCharacter() { return decoder.readCharacter(); }
public Float readFloat() { return decoder.readFloat(); }
public Double readDouble() { return decoder.readDouble(); }
public UUID readUUID() { return decoder.readUUID(); }
public Decimal32 readDecimal32() { return decoder.readDecimal32(); }
public Decimal64 readDecimal64() { return decoder.readDecimal64(); }
public Decimal128 readDecimal128() { return decoder.readDecimal128(); }
public Date readTimestamp() { return decoder.readTimestamp(); }
public Binary readBinary() { return decoder.readBinary(); }
public Symbol readSymbol() { return decoder.readSymbol(); }
public String readString() { return decoder.readString(); }
public List readList() { return decoder.readList(); }
public Map readMap() { return decoder.readMap(); }
public Object[] readArray() { return decoder.readArray(); }
public boolean[] readBooleanArray() { return decoder.readBooleanArray(); }
public byte[] readByteArray() { return decoder.readByteArray(); }
public short[] readShortArray() { return decoder.readShortArray(); }
public int[] readIntegerArray() { return decoder.readIntegerArray(); }
public long[] readLongArray() { return decoder.readLongArray(); }
public float[] readFloatArray() { return decoder.readFloatArray(); }
public double[] readDoubleArray() { return decoder.readDoubleArray(); }
public char[] readCharacterArray() { return decoder.readCharacterArray(); }
public Object readObject() { return decoder.readObject(); }
}