Package org.apache.druid.segment.data
Class VSizeColumnarMultiInts
- java.lang.Object
-
- org.apache.druid.segment.data.VSizeColumnarMultiInts
-
- All Implemented Interfaces:
com.google.common.base.Supplier<ColumnarMultiInts>
,Closeable
,AutoCloseable
,Iterable<IndexedInts>
,Supplier<ColumnarMultiInts>
,HotLoopCallee
,ColumnarMultiInts
,Indexed<IndexedInts>
,WritableSupplier<ColumnarMultiInts>
,Serializer
public class VSizeColumnarMultiInts extends Object implements ColumnarMultiInts, WritableSupplier<ColumnarMultiInts>
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
static VSizeColumnarMultiInts
fromIterable(Iterable<VSizeColumnarInts> objectsIterable)
ColumnarMultiInts
get()
VSizeColumnarInts
get(int index)
Returns the values at a given row index.long
getSerializedSize()
Returns the number of bytes, that this Serializer will write to the output _channel_ (not smoosher) on aSerializer.writeTo(java.nio.channels.WritableByteChannel, org.apache.druid.java.util.common.io.smoosh.FileSmoosher)
call.IndexedInts
getUnshared(int index)
Returns the values at a given row index.int
indexOf(IndexedInts value)
Returns the index of "value" in this Indexed object, or a negative number if the value is not present.void
inspectRuntimeShape(RuntimeShapeInspector inspector)
Implementations of this method should callinspector.visit()
with all fields of this class, which meet two conditions: 1.Iterator<IndexedInts>
iterator()
static VSizeColumnarMultiInts
readFromByteBuffer(ByteBuffer buffer)
int
size()
Number of elements in the value setvoid
writeTo(WritableByteChannel channel, FileSmoosher smoosher)
Writes serialized form of this object to the given channel.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
fromIterable
public static VSizeColumnarMultiInts fromIterable(Iterable<VSizeColumnarInts> objectsIterable)
-
size
public int size()
Description copied from interface:Indexed
Number of elements in the value set- Specified by:
size
in interfaceIndexed<IndexedInts>
-
get
public VSizeColumnarInts get(int index)
Description copied from interface:ColumnarMultiInts
Returns the values at a given row index. The IndexedInts object may potentially be reused, so callers should not keep references to it.- Specified by:
get
in interfaceColumnarMultiInts
- Specified by:
get
in interfaceIndexed<IndexedInts>
-
getUnshared
public IndexedInts getUnshared(int index)
Description copied from interface:ColumnarMultiInts
Returns the values at a given row index. The IndexedInts object will not be reused. This method may be less efficient than plain "get".- Specified by:
getUnshared
in interfaceColumnarMultiInts
-
indexOf
public int indexOf(IndexedInts value)
Description copied from interface:Indexed
Returns the index of "value" in this Indexed object, or a negative number if the value is not present. The negative number is not guaranteed to be any particular number unlessIndexed.isSorted()
returns true, in which case it will be a negative number equal to (-(insertion point) - 1), in the manner of Arrays.binarySearch.- Specified by:
indexOf
in interfaceIndexed<IndexedInts>
- Parameters:
value
- value to search for- Returns:
- index of value, or a negative number (equal to (-(insertion point) - 1) if
Indexed.isSorted()
)
-
getSerializedSize
public long getSerializedSize()
Description copied from interface:Serializer
Returns the number of bytes, that this Serializer will write to the output _channel_ (not smoosher) on aSerializer.writeTo(java.nio.channels.WritableByteChannel, org.apache.druid.java.util.common.io.smoosh.FileSmoosher)
call.- Specified by:
getSerializedSize
in interfaceSerializer
-
writeTo
public void writeTo(WritableByteChannel channel, FileSmoosher smoosher) throws IOException
Description copied from interface:Serializer
Writes serialized form of this object to the given channel. If parallel data streams are needed, they could be created with the provided smoosher.- Specified by:
writeTo
in interfaceSerializer
- Throws:
IOException
-
get
public ColumnarMultiInts get()
- Specified by:
get
in interfacecom.google.common.base.Supplier<ColumnarMultiInts>
- Specified by:
get
in interfaceSupplier<ColumnarMultiInts>
-
readFromByteBuffer
public static VSizeColumnarMultiInts readFromByteBuffer(ByteBuffer buffer)
-
iterator
public Iterator<IndexedInts> iterator()
- Specified by:
iterator
in interfaceIterable<IndexedInts>
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
inspectRuntimeShape
public void inspectRuntimeShape(RuntimeShapeInspector inspector)
Description copied from interface:HotLoopCallee
Implementations of this method should callinspector.visit()
with all fields of this class, which meet two conditions: 1. They are used in methods of this class, annotated withCalledFromHotLoop
2. They are either: a. Nullable objects b. Instances of HotLoopCallee c. Objects, which don't always have a specific class in runtime. For example, a field of typeSet
could beHashSet
orTreeSet
in runtime, depending on how this instance (the instance on which inspectRuntimeShape() is called) is configured. d. ByteBuffer or similar objects, where byte order matters e. boolean flags, affecting branch taking f. Arrays of objects, meeting any of conditions a-e.- Specified by:
inspectRuntimeShape
in interfaceHotLoopCallee
-
-