/*
* Copyright 2016 higherfrequencytrading.com
*
* Licensed 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 net.openhft.lang.io;
import net.openhft.lang.io.serialization.ObjectSerializer;
import net.openhft.lang.model.Byteable;
import net.openhft.lang.model.constraints.NotNull;
import org.jetbrains.annotations.Nullable;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.StreamCorruptedException;
import java.nio.BufferUnderflowException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.Collection;
import java.util.Map;
/**
* A super class for those which wrap bytes.
*/
public abstract class WrappedBytes<B extends Bytes> implements Bytes {
protected B wrapped;
protected WrappedBytes(B wrapped) {
this.wrapped = wrapped;
}
@Override
public void clearThreadAssociation() {
wrapped.clearThreadAssociation();
}
public ByteBuffer sliceAsByteBuffer(@org.jetbrains.annotations.Nullable ByteBuffer toReuse) {
return wrapped.sliceAsByteBuffer(toReuse);
}
public void readMarshallable(@NotNull Bytes in) throws IllegalStateException {
wrapped.readMarshallable(in);
}
@Override
public String toDebugString(long limit) {
return wrapped.toDebugString(limit);
}
@Override
public String toHexString(long limit) {
return wrapped.toHexString(limit);
}
@Override
public boolean compare(long offset, RandomDataInput input, long inputOffset, long len) {
return wrapped.compare(offset, input, inputOffset, len);
}
public long readCompactLong() {
return wrapped.readCompactLong();
}
public boolean tryLockNanosInt(long offset, long nanos) {
return wrapped.tryLockNanosInt(offset, nanos);
}
public void writeMarshallable(@NotNull Bytes out) {
wrapped.writeMarshallable(out);
}
public int readInt24() {
return wrapped.readInt24();
}
public void flush() {
wrapped.flush();
}
public void writeDouble(long offset, double v) {
wrapped.writeDouble(offset, v);
}
public long limit() {
return wrapped.limit();
}
@NotNull
public ByteStringAppender appendTimeMillis(long timeInMS) {
return wrapped.appendTimeMillis(timeInMS);
}
@org.jetbrains.annotations.Nullable
public <E extends Enum<E>> E parseEnum(@NotNull Class<E> eClass, @NotNull StopCharTester tester) throws BufferUnderflowException {
return wrapped.parseEnum(eClass, tester);
}
public int refCount() {
return wrapped.refCount();
}
public void writeShort(long offset, int v) {
wrapped.writeShort(offset, v);
}
public <E> void writeEnum(@org.jetbrains.annotations.Nullable E e) {
wrapped.writeEnum(e);
}
@NotNull
public <E> ByteStringAppender append(@NotNull Iterable<E> list, @NotNull CharSequence separator) {
return wrapped.append(list, separator);
}
public void writeCompactUnsignedShort(int v) {
wrapped.writeCompactUnsignedShort(v);
}
public long readVolatileLong() {
return wrapped.readVolatileLong();
}
public void write(RandomDataInput in, long position, long length) {
wrapped.write(in, position, length);
}
public void write(Byteable byteable) {
wrapped.write(byteable);
}
public void writeOrderedInt(int v) {
wrapped.writeOrderedInt(v);
}
public boolean readUTFΔ(@NotNull StringBuilder stringBuilder) {
return wrapped.readUTFΔ(stringBuilder);
}
public void writeInt48(long offset, long v) {
wrapped.writeInt48(offset, v);
}
public long readLong() {
return wrapped.readLong();
}
public long readIncompleteLong(long offset) {
return wrapped.readIncompleteLong(offset);
}
public void writeLong(long v) {
wrapped.writeLong(v);
}
@NotNull
public ByteStringAppender appendDateTimeMillis(long timeInMS) {
return wrapped.appendDateTimeMillis(timeInMS);
}
@org.jetbrains.annotations.Nullable
public <E> E readEnum(@NotNull Class<E> eClass) {
return wrapped.readEnum(eClass);
}
public void write(RandomDataInput in) {
wrapped.write(in);
}
@NotNull
public ByteStringAppender append(double d) {
return wrapped.append(d);
}
@NotNull
public String toDebugString() {
return wrapped.toDebugString();
}
public boolean isFinished() {
return wrapped.isFinished();
}
public void writeCompactUnsignedInt(long v) {
wrapped.writeCompactUnsignedInt(v);
}
@NotNull
public ByteStringAppender append(double d, int precision) {
return wrapped.append(d, precision);
}
public int readUnsignedByteOrThrow() throws BufferUnderflowException {
return wrapped.readUnsignedByteOrThrow();
}
public Bytes zeroOut(long start, long end) {
wrapped.zeroOut(start, end);
return this;
}
@Override
public Bytes zeroOut(long start, long end, boolean ifNotZero) {
wrapped.zeroOut(start, end, ifNotZero);
return this;
}
public void writeShort(int v) {
wrapped.writeShort(v);
}
public short addShort(long offset, short s) {
return wrapped.addShort(offset, s);
}
public void writeUnsignedInt(long v) {
wrapped.writeUnsignedInt(v);
}
public void free() {
wrapped.free();
}
public int readUnsignedShort() {
return wrapped.readUnsignedShort();
}
public void writeStopBit(long n) {
wrapped.writeStopBit(n);
}
@org.jetbrains.annotations.Nullable
public <T> T readObject(Class<T> tClass) throws IllegalStateException {
return wrapped.readObject(tClass);
}
public void writeCompactInt(int v) {
wrapped.writeCompactInt(v);
}
public void writeOrderedLong(long v) {
wrapped.writeOrderedLong(v);
}
public byte addByte(long offset, byte b) {
return wrapped.addByte(offset, b);
}
public int readVolatileInt() {
return wrapped.readVolatileInt();
}
public void close() {
wrapped.close();
}
public void read(@NotNull ByteBuffer bb) {
wrapped.read(bb);
}
public void read(@NotNull ByteBuffer bb, int length) {
wrapped.read(bb, length);
}
@NotNull
public ByteStringAppender append(long l, int base) {
return wrapped.append(l, base);
}
public long skip(long n) {
return wrapped.skip(n);
}
public boolean selfTerminating() {
return wrapped.selfTerminating();
}
public void writeBytes(@NotNull String s) {
wrapped.writeBytes(s);
}
public long size() {
return wrapped.size();
}
public int readCompactUnsignedShort() {
return wrapped.readCompactUnsignedShort();
}
@NotNull
public ByteStringAppender append(@NotNull CharSequence s, int start, int end) {
return wrapped.append(s, start, end);
}
public void writeCompactLong(long v) {
wrapped.writeCompactLong(v);
}
public double readCompactDouble() {
return wrapped.readCompactDouble();
}
public void writeOrderedInt(long offset, int v) {
wrapped.writeOrderedInt(offset, v);
}
public void writeObject(Object object, int start, int end) {
wrapped.writeObject(object, start, end);
}
public CharSequence asString() {
return wrapped.asString();
}
@org.jetbrains.annotations.Nullable
public String readUTFΔ() {
return wrapped.readUTFΔ();
}
public Bytes flip() {
return wrapped.flip();
}
public int addInt(long offset, int i) {
return wrapped.addInt(offset, i);
}
public long readUnsignedInt(long offset) {
return wrapped.readUnsignedInt(offset);
}
public void writeByte(int v) {
wrapped.writeByte(v);
}
public void writeUnsignedInt(long offset, long v) {
wrapped.writeUnsignedInt(offset, v);
}
public void writeInt(int v) {
wrapped.writeInt(v);
}
public short readShort() {
return wrapped.readShort();
}
public void writeUnsignedByte(long offset, int v) {
wrapped.writeUnsignedByte(offset, v);
}
public void asString(Appendable appendable) {
wrapped.asString(appendable);
}
public long readInt48(long offset) {
return wrapped.readInt48(offset);
}
public void unlockRWReadLock(long offset) throws IllegalStateException {
wrapped.unlockRWReadLock(offset);
}
@NotNull
public String readUTF() {
return wrapped.readUTF();
}
public void writeUnsignedShort(long offset, int v) {
wrapped.writeUnsignedShort(offset, v);
}
public void readFully(@NotNull char[] data) {
wrapped.readFully(data);
}
public void writeInt24(long offset, int v) {
wrapped.writeInt24(offset, v);
}
public void writeChars(@NotNull CharSequence cs) {
wrapped.writeChars(cs);
}
public float readFloat(long offset) {
return wrapped.readFloat(offset);
}
public long capacity() {
return wrapped.capacity();
}
public CharSequence subSequence(int start, int end) {
return wrapped.subSequence(start, end);
}
public Bytes clear() {
return wrapped.clear();
}
@org.jetbrains.annotations.Nullable
public String readUTFΔ(long offset) throws IllegalStateException {
return wrapped.readUTFΔ(offset);
}
@NotNull
public ObjectSerializer objectSerializer() {
return wrapped.objectSerializer();
}
public void writeOrderedLong(long offset, long v) {
wrapped.writeOrderedLong(offset, v);
}
public long addAtomicLong(long offset, long l) {
return wrapped.addAtomicLong(offset, l);
}
@NotNull
public ByteStringAppender append(char c) {
return wrapped.append(c);
}
public void busyLockInt(long offset) throws InterruptedException, IllegalStateException {
wrapped.busyLockInt(offset);
}
public void resetLockInt(long offset) {
wrapped.resetLockInt(offset);
}
@org.jetbrains.annotations.Nullable
public String readLine() {
return wrapped.readLine();
}
public char readChar(long offset) {
return wrapped.readChar(offset);
}
@org.jetbrains.annotations.Nullable
public <T> T readInstance(@NotNull Class<T> objClass, T obj) {
return wrapped.readInstance(objClass, obj);
}
@NotNull
public ByteStringAppender append(boolean b) {
return wrapped.append(b);
}
public int addUnsignedByte(long offset, int i) {
return wrapped.addUnsignedByte(offset, i);
}
public void readFully(@NotNull byte[] byteArray, int off, int len) {
wrapped.readFully(byteArray, off, len);
}
public void readFully(@NotNull char[] data, int off, int len) {
wrapped.readFully(data, off, len);
}
public int addAndGetInt(long offset, int delta) {
return wrapped.addAndGetInt(offset, delta);
}
public long addUnsignedInt(long offset, long i) {
return wrapped.addUnsignedInt(offset, i);
}
public void writeInt48(long v) {
wrapped.writeInt48(v);
}
@NotNull
public ByteStringAppender append(@NotNull MutableDecimal md) {
return wrapped.append(md);
}
public <K, V> Map<K, V> readMap(@NotNull Map<K, V> map, @NotNull Class<K> kClass, @NotNull Class<V> vClass) {
return wrapped.readMap(map, kClass, vClass);
}
public char charAt(int index) {
return wrapped.charAt(index);
}
public void writeOrderedFloat(long offset, float v) {
wrapped.writeOrderedFloat(offset, v);
}
public void unlockRWWriteLock(long offset) throws IllegalStateException {
wrapped.unlockRWWriteLock(offset);
}
public void parseUtf8(@NotNull StringBuilder builder, @NotNull StopCharTester tester) throws BufferUnderflowException {
wrapped.parseUtf8(builder, tester);
}
@NotNull
public InputStream inputStream() {
return wrapped.inputStream();
}
public long remaining() {
return wrapped.remaining();
}
public void writeByte(long offset, int b) {
wrapped.writeByte(offset, b);
}
public double readDouble() {
return wrapped.readDouble();
}
public int readCompactInt() {
return wrapped.readCompactInt();
}
public boolean release() {
return wrapped.release();
}
public boolean readBoolean(long offset) {
return wrapped.readBoolean(offset);
}
public void writeBoolean(boolean v) {
wrapped.writeBoolean(v);
}
public int read(@NotNull byte[] byteArray) {
return wrapped.read(byteArray);
}
public void writeChars(@NotNull String s) {
wrapped.writeChars(s);
}
public Bytes slice() {
return wrapped.slice();
}
public Bytes zeroOut() {
return wrapped.zeroOut();
}
public void toString(Appendable sb, long start, long position, long end) {
wrapped.toString(sb, start, position, end);
}
public void writeOrderedDouble(long offset, double v) {
wrapped.writeOrderedDouble(offset, v);
}
public long readStopBit() {
return wrapped.readStopBit();
}
public void busyLockLong(long offset) throws InterruptedException, IllegalStateException {
wrapped.busyLockLong(offset);
}
public void writeDouble(double v) {
wrapped.writeDouble(v);
}
public double readDouble(long offset) {
return wrapped.readDouble(offset);
}
public float addFloat(long offset, float f) {
return wrapped.addFloat(offset, f);
}
public boolean skipTo(@NotNull StopCharTester tester) {
return wrapped.skipTo(tester);
}
public void writeChar(int v) {
wrapped.writeChar(v);
}
public void writeInt(long offset, int v) {
wrapped.writeInt(offset, v);
}
@NotNull
public OutputStream outputStream() {
return wrapped.outputStream();
}
public boolean compareAndSwapDouble(long offset, double expected, double x) {
return wrapped.compareAndSwapDouble(offset, expected, x);
}
public File file() {
return wrapped.file();
}
public <E> void readList(@NotNull Collection<E> list, @NotNull Class<E> eClass) {
wrapped.readList(list, eClass);
}
public void writeUnsignedByte(int v) {
wrapped.writeUnsignedByte(v);
}
public int readInt24(long offset) {
return wrapped.readInt24(offset);
}
public long readInt48() {
return wrapped.readInt48();
}
public void write(@NotNull char[] data) {
wrapped.write(data);
}
@org.jetbrains.annotations.Nullable
public Object readObject() throws IllegalStateException {
return wrapped.readObject();
}
@NotNull
public ByteStringAppender append(@net.openhft.lang.model.constraints.Nullable Enum value) {
return wrapped.append(value);
}
@NotNull
public String parseUtf8(@NotNull StopCharTester tester) throws BufferUnderflowException {
return wrapped.parseUtf8(tester);
}
public int readInt() {
return wrapped.readInt();
}
public void write(@NotNull char[] data, int off, int len) {
wrapped.write(data, off, len);
}
public int addUnsignedShort(long offset, int i) {
return wrapped.addUnsignedShort(offset, i);
}
public float readFloat() {
return wrapped.readFloat();
}
public int available() {
return wrapped.available();
}
public long position() {
return wrapped.position();
}
public double addDouble(long offset, double d) {
return wrapped.addDouble(offset, d);
}
public void write(int b) {
wrapped.write(b);
}
public int skipBytes(int n) {
return wrapped.skipBytes(n);
}
public short readCompactShort() {
return wrapped.readCompactShort();
}
public void write(long offset, byte[] byteArray) {
wrapped.write(offset, byteArray);
}
public <E> void writeList(@NotNull Collection<E> list) {
wrapped.writeList(list);
}
public int read(@NotNull byte[] byteArray, int off, int len) {
return wrapped.read(byteArray, off, len);
}
public int readInt(long offset) {
return wrapped.readInt(offset);
}
public void writeFloat(long offset, float v) {
wrapped.writeFloat(offset, v);
}
public long parseLong() throws BufferUnderflowException {
return wrapped.parseLong();
}
public int readUnsignedByte(long offset) {
return wrapped.readUnsignedByte(offset);
}
public Bytes slice(long offset, long length) {
return wrapped.slice(offset, length);
}
public void writeObject(@org.jetbrains.annotations.Nullable Object object) {
wrapped.writeObject(object);
}
public int length() {
return wrapped.length();
}
public char readChar() {
return wrapped.readChar();
}
public int read() {
return wrapped.read();
}
public void writeBoolean(long offset, boolean v) {
wrapped.writeBoolean(offset, v);
}
public double parseDouble() throws BufferUnderflowException {
return wrapped.parseDouble();
}
public void writeCompactDouble(double v) {
wrapped.writeCompactDouble(v);
}
public float addAtomicFloat(long offset, float f) {
return wrapped.addAtomicFloat(offset, f);
}
public void selfTerminating(boolean selfTerminate) {
wrapped.selfTerminating(selfTerminate);
}
public long readCompactUnsignedInt() {
return wrapped.readCompactUnsignedInt();
}
public double readVolatileDouble(long offset) {
return wrapped.readVolatileDouble(offset);
}
public long addLong(long offset, long i) {
return wrapped.addLong(offset, i);
}
public long readLong(long offset) {
return wrapped.readLong(offset);
}
public boolean compareAndSwapInt(long offset, int expected, int x) {
return wrapped.compareAndSwapInt(offset, expected, x);
}
@NotNull
public ByteStringAppender append(@NotNull CharSequence s) {
return wrapped.append(s);
}
@NotNull
public ByteStringAppender append(int i) {
return wrapped.append(i);
}
public <K, V> void writeMap(@NotNull Map<K, V> map) {
wrapped.writeMap(map);
}
public Boolean parseBoolean(@NotNull StopCharTester tester) throws BufferUnderflowException {
return wrapped.parseBoolean(tester);
}
public boolean tryRWReadLock(long offset, long timeOutNS) throws IllegalStateException, InterruptedException {
return wrapped.tryRWReadLock(offset, timeOutNS);
}
public int readUnsignedShort(long offset) {
return wrapped.readUnsignedShort(offset);
}
public void writeUTFΔ(long offset, int maxSize, @org.jetbrains.annotations.Nullable CharSequence s) throws IllegalStateException {
wrapped.writeUTFΔ(offset, maxSize, s);
}
public byte readByte(long offset) {
return wrapped.readByte(offset);
}
@NotNull
public ByteStringAppender append(long l) {
return wrapped.append(l);
}
public void writeUTFΔ(@org.jetbrains.annotations.Nullable CharSequence s) {
wrapped.writeUTFΔ(s);
}
public boolean compareAndSwapLong(long offset, long expected, long x) {
return wrapped.compareAndSwapLong(offset, expected, x);
}
public void writeCompactShort(int v) {
wrapped.writeCompactShort(v);
}
public Bytes bytes() {
return wrapped.bytes();
}
public void write(byte[] byteArray) {
wrapped.write(byteArray);
}
public void unlockInt(long offset) throws IllegalMonitorStateException {
wrapped.unlockInt(offset);
}
public boolean tryLockLong(long offset) {
return wrapped.tryLockLong(offset);
}
public byte readByte() {
return wrapped.readByte();
}
public boolean tryRWWriteLock(long offset, long timeOutNS) throws IllegalStateException, InterruptedException {
return wrapped.tryRWWriteLock(offset, timeOutNS);
}
public void write(byte[] byteArray, int off, int len) {
wrapped.write(byteArray, off, len);
}
public void writeUTF(@NotNull String s) {
wrapped.writeUTF(s);
}
public Bytes load() {
return wrapped.load();
}
public int getAndAdd(long offset, int delta) {
return wrapped.getAndAdd(offset, delta);
}
public short readShort(long offset) {
return wrapped.readShort(offset);
}
public boolean stepBackAndSkipTo(@NotNull StopCharTester tester) {
return wrapped.stepBackAndSkipTo(tester);
}
public void resetLockLong(long offset) {
wrapped.resetLockLong(offset);
}
public int readVolatileInt(long offset) {
return wrapped.readVolatileInt(offset);
}
@NotNull
public ByteOrder byteOrder() {
return wrapped.byteOrder();
}
public Bytes bytes(long offset, long length) {
return wrapped.bytes(offset, length);
}
public void alignPositionAddr(int alignment) {
wrapped.alignPositionAddr(alignment);
}
public void writeUnsignedShort(int v) {
wrapped.writeUnsignedShort(v);
}
public long parseLong(int base) throws BufferUnderflowException {
return wrapped.parseLong(base);
}
public boolean readBoolean() {
return wrapped.readBoolean();
}
public void checkEndOfBuffer() throws IndexOutOfBoundsException {
wrapped.checkEndOfBuffer();
}
public float readVolatileFloat(long offset) {
return wrapped.readVolatileFloat(offset);
}
@NotNull
public MutableDecimal parseDecimal(@NotNull MutableDecimal decimal) throws BufferUnderflowException {
return wrapped.parseDecimal(decimal);
}
public double addAtomicDouble(long offset, double d) {
return wrapped.addAtomicDouble(offset, d);
}
public void unlockLong(long offset) throws IllegalMonitorStateException {
wrapped.unlockLong(offset);
}
public void writeFloat(float v) {
wrapped.writeFloat(v);
}
public void reserve() {
wrapped.reserve();
}
public void write(@NotNull ByteBuffer bb) {
wrapped.write(bb);
}
public long threadIdForLockLong(long offset) {
return wrapped.threadIdForLockLong(offset);
}
public void writeChar(long offset, int v) {
wrapped.writeChar(offset, v);
}
public boolean tryLockNanosLong(long offset, long nanos) {
return wrapped.tryLockNanosLong(offset, nanos);
}
public int addAtomicInt(long offset, int i) {
return wrapped.addAtomicInt(offset, i);
}
public <OBJ> void writeInstance(@NotNull Class<OBJ> objClass, @NotNull OBJ obj) {
wrapped.writeInstance(objClass, obj);
}
public void readFully(@NotNull byte[] byteArray) {
wrapped.readFully(byteArray);
}
public Bytes position(long position) {
return wrapped.position(position);
}
public void writeLong(long offset, long v) {
wrapped.writeLong(offset, v);
}
public void readObject(Object object, int start, int end) {
wrapped.readObject(object, start, end);
}
public int threadIdForLockInt(long offset) {
return wrapped.threadIdForLockInt(offset);
}
@NotNull
public ByteStringAppender appendDateMillis(long timeInMS) {
return wrapped.appendDateMillis(timeInMS);
}
public void writeInt24(int v) {
wrapped.writeInt24(v);
}
public boolean startsWith(RandomDataInput keyBytes) {
return wrapped.startsWith(keyBytes);
}
public long readUnsignedInt() {
return wrapped.readUnsignedInt();
}
public Bytes limit(long limit) {
return wrapped.limit(limit);
}
public void finish() {
wrapped.finish();
}
public long address() {
return wrapped.address();
}
public boolean tryLockInt(long offset) {
return wrapped.tryLockInt(offset);
}
public long readVolatileLong(long offset) {
return wrapped.readVolatileLong(offset);
}
public int readUnsignedByte() {
return wrapped.readUnsignedByte();
}
@Override
public void readFully(long offset, @org.jetbrains.annotations.NotNull byte[] byteArray, int off, int len) {
wrapped.readFully(offset, byteArray, off, len);
}
@Override
public void write(long offset, byte[] byteArray, int off, int len) {
wrapped.write(offset, byteArray, off, len);
}
@Override
public void write(long offset, Bytes bytes) {
wrapped.write(offset, bytes);
}
@Override
public boolean read8bitText(@org.jetbrains.annotations.NotNull StringBuilder stringBuilder) throws StreamCorruptedException {
return wrapped.read8bitText(stringBuilder);
}
@Override
public <E> E readEnum(long offset, int maxSize, Class<E> eClass) {
return wrapped.readEnum(offset, maxSize, eClass);
}
@Override
public void write8bitText(@Nullable CharSequence s) {
wrapped.write8bitText(s);
}
@Override
public void writeEnum(long offset, int len, Object object) {
wrapped.writeEnum(offset, len, object);
}
}