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
Modifier and TypeMethodDescriptionvoidclose()static VSizeColumnarMultiIntsfromIterable(Iterable<VSizeColumnarInts> objectsIterable) get()get(int index) Returns the values at a given row index.longReturns 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.segment.file.SegmentFileBuilder)call.getUnshared(int index) Returns the values at a given row index.intindexOf(IndexedInts value) Returns the index of "value" in this Indexed object, or a negative number if the value is not present.voidinspectRuntimeShape(RuntimeShapeInspector inspector) Implementations of this method should callinspector.visit()with all fields of this class, which meet two conditions: 1.iterator()static VSizeColumnarMultiIntsreadFromByteBuffer(ByteBuffer buffer) intsize()Number of elements in the value setvoidwriteTo(WritableByteChannel channel, SegmentFileBuilder fileBuilder) Writes the serialized form of this object.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Method Details
-
fromIterable
-
size
public int size()Description copied from interface:IndexedNumber of elements in the value set- Specified by:
sizein interfaceIndexed<IndexedInts>
-
get
Description copied from interface:ColumnarMultiIntsReturns the values at a given row index. The IndexedInts object may potentially be reused, so callers should not keep references to it.- Specified by:
getin interfaceColumnarMultiInts- Specified by:
getin interfaceIndexed<IndexedInts>
-
indexOf
Description copied from interface:IndexedReturns 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:
indexOfin 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:SerializerReturns 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.segment.file.SegmentFileBuilder)call.- Specified by:
getSerializedSizein interfaceSerializer
-
writeTo
Description copied from interface:SerializerWrites the serialized form of this object. The entire object may be written to the provided channel, or the object may be split over the provided channel and files added to the {@link SegmentFileBuilder], where additional channels can be created viaSegmentFileBuilder.addWithChannel(String, long). The latter approach is useful when the serialized form of the object is too large for a single smoosh container. At the time this javadoc was written, the max smoosh container size is limit to the maxByteBuffersize.- Specified by:
writeToin interfaceSerializer- Throws:
IOException
-
get
- Specified by:
getin interfacecom.google.common.base.Supplier<ColumnarMultiInts>- Specified by:
getin interfaceSupplier<ColumnarMultiInts>
-
readFromByteBuffer
-
iterator
- Specified by:
iteratorin interfaceIterable<IndexedInts>
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
inspectRuntimeShape
Description copied from interface:HotLoopCalleeImplementations 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 withCalledFromHotLoop2. 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 typeSetcould beHashSetorTreeSetin 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:
inspectRuntimeShapein interfaceHotLoopCallee
-