Package org.apache.druid.segment.data
Class SafeWritableBuffer
- java.lang.Object
-
- org.apache.druid.segment.data.SafeWritableBase
-
- org.apache.druid.segment.data.SafeWritableBuffer
-
- All Implemented Interfaces:
org.apache.datasketches.memory.BaseBuffer,org.apache.datasketches.memory.BaseState,org.apache.datasketches.memory.Buffer,org.apache.datasketches.memory.WritableBuffer
public class SafeWritableBuffer extends SafeWritableBase implements org.apache.datasketches.memory.WritableBuffer
Safety first! Don't trust something whose contents you locations to read and write stuff to, but need aBufferorWritableBuffer? use this!Delegates everything to an underlying
ByteBufferso all read and write operations will have bounds checks built in rather than using 'unsafe'.
-
-
Constructor Summary
Constructors Constructor Description SafeWritableBuffer(ByteBuffer buffer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.datasketches.memory.MemoryasMemory(ByteOrder byteOrder)org.apache.datasketches.memory.WritableMemoryasWritableMemory(ByteOrder byteOrder)voidclear()intcompareTo(long thisOffsetBytes, long thisLengthBytes, org.apache.datasketches.memory.Buffer that, long thatOffsetBytes, long thatLengthBytes)org.apache.datasketches.memory.Bufferduplicate()org.apache.datasketches.memory.Bufferduplicate(ByteOrder byteOrder)booleanequalTo(long thisOffsetBytes, Object that, long thatOffsetBytes, long lengthBytes)voidfill(byte value)ObjectgetArray()booleangetBoolean()voidgetBooleanArray(boolean[] dstArray, int dstOffsetBooleans, int lengthBooleans)bytegetByte()voidgetByteArray(byte[] dstArray, int dstOffsetBytes, int lengthBytes)chargetChar()voidgetCharArray(char[] dstArray, int dstOffsetChars, int lengthChars)doublegetDouble()voidgetDoubleArray(double[] dstArray, int dstOffsetDoubles, int lengthDoubles)longgetEnd()floatgetFloat()voidgetFloatArray(float[] dstArray, int dstOffsetFloats, int lengthFloats)intgetInt()voidgetIntArray(int[] dstArray, int dstOffsetInts, int lengthInts)longgetLong()voidgetLongArray(long[] dstArray, int dstOffsetLongs, int lengthLongs)longgetPosition()longgetRemaining()shortgetShort()voidgetShortArray(short[] dstArray, int dstOffsetShorts, int lengthShorts)longgetStart()booleanhasRemaining()org.apache.datasketches.memory.BaseBufferincrementAndCheckPosition(long increment)org.apache.datasketches.memory.BaseBufferincrementPosition(long increment)voidputBoolean(boolean value)voidputBooleanArray(boolean[] srcArray, int srcOffsetBooleans, int lengthBooleans)voidputByte(byte value)voidputByteArray(byte[] srcArray, int srcOffsetBytes, int lengthBytes)voidputChar(char value)voidputCharArray(char[] srcArray, int srcOffsetChars, int lengthChars)voidputDouble(double value)voidputDoubleArray(double[] srcArray, int srcOffsetDoubles, int lengthDoubles)voidputFloat(float value)voidputFloatArray(float[] srcArray, int srcOffsetFloats, int lengthFloats)voidputInt(int value)voidputIntArray(int[] srcArray, int srcOffsetInts, int lengthInts)voidputLong(long value)voidputLongArray(long[] srcArray, int srcOffsetLongs, int lengthLongs)voidputShort(short value)voidputShortArray(short[] srcArray, int srcOffsetShorts, int lengthShorts)org.apache.datasketches.memory.Bufferregion()org.apache.datasketches.memory.Bufferregion(long offsetBytes, long capacityBytes, ByteOrder byteOrder)org.apache.datasketches.memory.BaseBufferresetPosition()org.apache.datasketches.memory.BaseBuffersetAndCheckPosition(long position)org.apache.datasketches.memory.BaseBuffersetAndCheckStartPositionEnd(long start, long position, long end)org.apache.datasketches.memory.BaseBuffersetPosition(long position)org.apache.datasketches.memory.BaseBuffersetStartPositionEnd(long start, long position, long end)org.apache.datasketches.memory.WritableBufferwritableDuplicate()org.apache.datasketches.memory.WritableBufferwritableDuplicate(ByteOrder byteOrder)org.apache.datasketches.memory.WritableBufferwritableRegion()org.apache.datasketches.memory.WritableBufferwritableRegion(long offsetBytes, long capacityBytes, ByteOrder byteOrder)-
Methods inherited from class org.apache.druid.segment.data.SafeWritableBase
checkValidAndBounds, getBoolean, getByte, getByteBuffer, getCapacity, getChar, getCumulativeOffset, getCumulativeOffset, getDouble, getFloat, getInt, getLong, getMemoryRequestServer, getRegionOffset, getRegionOffset, getShort, getTypeByteOrder, hasArray, hasByteBuffer, isByteOrderCompatible, isDirect, isReadOnly, isSameResource, isValid, putBoolean, putByte, putChar, putDouble, putFloat, putInt, putLong, putShort, toHexString, xxHash64, xxHash64
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.datasketches.memory.BaseState
checkValidAndBounds, equals, getByteBuffer, getCapacity, getCumulativeOffset, getCumulativeOffset, getRegionOffset, getRegionOffset, getTypeByteOrder, hasArray, hasByteBuffer, hashCode, isByteOrderCompatible, isDirect, isReadOnly, isSameResource, isValid, toHexString, xxHash64, xxHash64
-
-
-
-
Constructor Detail
-
SafeWritableBuffer
public SafeWritableBuffer(ByteBuffer buffer)
-
-
Method Detail
-
writableDuplicate
public org.apache.datasketches.memory.WritableBuffer writableDuplicate()
- Specified by:
writableDuplicatein interfaceorg.apache.datasketches.memory.WritableBuffer
-
writableDuplicate
public org.apache.datasketches.memory.WritableBuffer writableDuplicate(ByteOrder byteOrder)
- Specified by:
writableDuplicatein interfaceorg.apache.datasketches.memory.WritableBuffer
-
writableRegion
public org.apache.datasketches.memory.WritableBuffer writableRegion()
- Specified by:
writableRegionin interfaceorg.apache.datasketches.memory.WritableBuffer
-
writableRegion
public org.apache.datasketches.memory.WritableBuffer writableRegion(long offsetBytes, long capacityBytes, ByteOrder byteOrder)- Specified by:
writableRegionin interfaceorg.apache.datasketches.memory.WritableBuffer
-
asWritableMemory
public org.apache.datasketches.memory.WritableMemory asWritableMemory(ByteOrder byteOrder)
- Specified by:
asWritableMemoryin interfaceorg.apache.datasketches.memory.WritableBuffer
-
putBoolean
public void putBoolean(boolean value)
- Specified by:
putBooleanin interfaceorg.apache.datasketches.memory.WritableBuffer
-
putBooleanArray
public void putBooleanArray(boolean[] srcArray, int srcOffsetBooleans, int lengthBooleans)- Specified by:
putBooleanArrayin interfaceorg.apache.datasketches.memory.WritableBuffer
-
putByte
public void putByte(byte value)
- Specified by:
putBytein interfaceorg.apache.datasketches.memory.WritableBuffer
-
putByteArray
public void putByteArray(byte[] srcArray, int srcOffsetBytes, int lengthBytes)- Specified by:
putByteArrayin interfaceorg.apache.datasketches.memory.WritableBuffer
-
putChar
public void putChar(char value)
- Specified by:
putCharin interfaceorg.apache.datasketches.memory.WritableBuffer
-
putCharArray
public void putCharArray(char[] srcArray, int srcOffsetChars, int lengthChars)- Specified by:
putCharArrayin interfaceorg.apache.datasketches.memory.WritableBuffer
-
putDouble
public void putDouble(double value)
- Specified by:
putDoublein interfaceorg.apache.datasketches.memory.WritableBuffer
-
putDoubleArray
public void putDoubleArray(double[] srcArray, int srcOffsetDoubles, int lengthDoubles)- Specified by:
putDoubleArrayin interfaceorg.apache.datasketches.memory.WritableBuffer
-
putFloat
public void putFloat(float value)
- Specified by:
putFloatin interfaceorg.apache.datasketches.memory.WritableBuffer
-
putFloatArray
public void putFloatArray(float[] srcArray, int srcOffsetFloats, int lengthFloats)- Specified by:
putFloatArrayin interfaceorg.apache.datasketches.memory.WritableBuffer
-
putInt
public void putInt(int value)
- Specified by:
putIntin interfaceorg.apache.datasketches.memory.WritableBuffer
-
putIntArray
public void putIntArray(int[] srcArray, int srcOffsetInts, int lengthInts)- Specified by:
putIntArrayin interfaceorg.apache.datasketches.memory.WritableBuffer
-
putLong
public void putLong(long value)
- Specified by:
putLongin interfaceorg.apache.datasketches.memory.WritableBuffer
-
putLongArray
public void putLongArray(long[] srcArray, int srcOffsetLongs, int lengthLongs)- Specified by:
putLongArrayin interfaceorg.apache.datasketches.memory.WritableBuffer
-
putShort
public void putShort(short value)
- Specified by:
putShortin interfaceorg.apache.datasketches.memory.WritableBuffer
-
putShortArray
public void putShortArray(short[] srcArray, int srcOffsetShorts, int lengthShorts)- Specified by:
putShortArrayin interfaceorg.apache.datasketches.memory.WritableBuffer
-
getArray
public Object getArray()
- Specified by:
getArrayin interfaceorg.apache.datasketches.memory.WritableBuffer
-
clear
public void clear()
- Specified by:
clearin interfaceorg.apache.datasketches.memory.WritableBuffer
-
fill
public void fill(byte value)
- Specified by:
fillin interfaceorg.apache.datasketches.memory.WritableBuffer
-
duplicate
public org.apache.datasketches.memory.Buffer duplicate()
- Specified by:
duplicatein interfaceorg.apache.datasketches.memory.Buffer
-
duplicate
public org.apache.datasketches.memory.Buffer duplicate(ByteOrder byteOrder)
- Specified by:
duplicatein interfaceorg.apache.datasketches.memory.Buffer
-
region
public org.apache.datasketches.memory.Buffer region()
- Specified by:
regionin interfaceorg.apache.datasketches.memory.Buffer
-
region
public org.apache.datasketches.memory.Buffer region(long offsetBytes, long capacityBytes, ByteOrder byteOrder)- Specified by:
regionin interfaceorg.apache.datasketches.memory.Buffer
-
asMemory
public org.apache.datasketches.memory.Memory asMemory(ByteOrder byteOrder)
- Specified by:
asMemoryin interfaceorg.apache.datasketches.memory.Buffer
-
getBoolean
public boolean getBoolean()
- Specified by:
getBooleanin interfaceorg.apache.datasketches.memory.Buffer
-
getBooleanArray
public void getBooleanArray(boolean[] dstArray, int dstOffsetBooleans, int lengthBooleans)- Specified by:
getBooleanArrayin interfaceorg.apache.datasketches.memory.Buffer
-
getByte
public byte getByte()
- Specified by:
getBytein interfaceorg.apache.datasketches.memory.Buffer
-
getByteArray
public void getByteArray(byte[] dstArray, int dstOffsetBytes, int lengthBytes)- Specified by:
getByteArrayin interfaceorg.apache.datasketches.memory.Buffer
-
getChar
public char getChar()
- Specified by:
getCharin interfaceorg.apache.datasketches.memory.Buffer
-
getCharArray
public void getCharArray(char[] dstArray, int dstOffsetChars, int lengthChars)- Specified by:
getCharArrayin interfaceorg.apache.datasketches.memory.Buffer
-
getDouble
public double getDouble()
- Specified by:
getDoublein interfaceorg.apache.datasketches.memory.Buffer
-
getDoubleArray
public void getDoubleArray(double[] dstArray, int dstOffsetDoubles, int lengthDoubles)- Specified by:
getDoubleArrayin interfaceorg.apache.datasketches.memory.Buffer
-
getFloat
public float getFloat()
- Specified by:
getFloatin interfaceorg.apache.datasketches.memory.Buffer
-
getFloatArray
public void getFloatArray(float[] dstArray, int dstOffsetFloats, int lengthFloats)- Specified by:
getFloatArrayin interfaceorg.apache.datasketches.memory.Buffer
-
getInt
public int getInt()
- Specified by:
getIntin interfaceorg.apache.datasketches.memory.Buffer
-
getIntArray
public void getIntArray(int[] dstArray, int dstOffsetInts, int lengthInts)- Specified by:
getIntArrayin interfaceorg.apache.datasketches.memory.Buffer
-
getLong
public long getLong()
- Specified by:
getLongin interfaceorg.apache.datasketches.memory.Buffer
-
getLongArray
public void getLongArray(long[] dstArray, int dstOffsetLongs, int lengthLongs)- Specified by:
getLongArrayin interfaceorg.apache.datasketches.memory.Buffer
-
getShort
public short getShort()
- Specified by:
getShortin interfaceorg.apache.datasketches.memory.Buffer
-
getShortArray
public void getShortArray(short[] dstArray, int dstOffsetShorts, int lengthShorts)- Specified by:
getShortArrayin interfaceorg.apache.datasketches.memory.Buffer
-
compareTo
public int compareTo(long thisOffsetBytes, long thisLengthBytes, org.apache.datasketches.memory.Buffer that, long thatOffsetBytes, long thatLengthBytes)- Specified by:
compareToin interfaceorg.apache.datasketches.memory.Buffer
-
incrementPosition
public org.apache.datasketches.memory.BaseBuffer incrementPosition(long increment)
- Specified by:
incrementPositionin interfaceorg.apache.datasketches.memory.BaseBuffer
-
incrementAndCheckPosition
public org.apache.datasketches.memory.BaseBuffer incrementAndCheckPosition(long increment)
- Specified by:
incrementAndCheckPositionin interfaceorg.apache.datasketches.memory.BaseBuffer
-
getEnd
public long getEnd()
- Specified by:
getEndin interfaceorg.apache.datasketches.memory.BaseBuffer
-
getPosition
public long getPosition()
- Specified by:
getPositionin interfaceorg.apache.datasketches.memory.BaseBuffer
-
getStart
public long getStart()
- Specified by:
getStartin interfaceorg.apache.datasketches.memory.BaseBuffer
-
getRemaining
public long getRemaining()
- Specified by:
getRemainingin interfaceorg.apache.datasketches.memory.BaseBuffer
-
hasRemaining
public boolean hasRemaining()
- Specified by:
hasRemainingin interfaceorg.apache.datasketches.memory.BaseBuffer
-
resetPosition
public org.apache.datasketches.memory.BaseBuffer resetPosition()
- Specified by:
resetPositionin interfaceorg.apache.datasketches.memory.BaseBuffer
-
setPosition
public org.apache.datasketches.memory.BaseBuffer setPosition(long position)
- Specified by:
setPositionin interfaceorg.apache.datasketches.memory.BaseBuffer
-
setAndCheckPosition
public org.apache.datasketches.memory.BaseBuffer setAndCheckPosition(long position)
- Specified by:
setAndCheckPositionin interfaceorg.apache.datasketches.memory.BaseBuffer
-
setStartPositionEnd
public org.apache.datasketches.memory.BaseBuffer setStartPositionEnd(long start, long position, long end)- Specified by:
setStartPositionEndin interfaceorg.apache.datasketches.memory.BaseBuffer
-
setAndCheckStartPositionEnd
public org.apache.datasketches.memory.BaseBuffer setAndCheckStartPositionEnd(long start, long position, long end)- Specified by:
setAndCheckStartPositionEndin interfaceorg.apache.datasketches.memory.BaseBuffer
-
equalTo
public boolean equalTo(long thisOffsetBytes, Object that, long thatOffsetBytes, long lengthBytes)- Specified by:
equalToin interfaceorg.apache.datasketches.memory.BaseState
-
-