Package org.apache.druid.segment
Class NilColumnValueSelector
- java.lang.Object
-
- org.apache.druid.segment.NilColumnValueSelector
-
- All Implemented Interfaces:
HotLoopCallee
,BaseDoubleColumnValueSelector
,BaseFloatColumnValueSelector
,BaseLongColumnValueSelector
,BaseNullableColumnValueSelector
,BaseObjectColumnValueSelector
,ColumnValueSelector
public class NilColumnValueSelector extends Object implements ColumnValueSelector
Represents "absent" column.
-
-
Field Summary
-
Fields inherited from interface org.apache.druid.segment.ColumnValueSelector
EMPTY_ARRAY
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Class
classOfObject()
Returns Object.class.double
getDouble()
always returns 0, ifNullHandling.replaceWithDefault()
is set to true, or always throws an exception, ifNullHandling.replaceWithDefault()
is set to false.float
getFloat()
always returns 0.0f, ifNullHandling.replaceWithDefault()
is set to true, or always throws an exception, ifNullHandling.replaceWithDefault()
is set to false.long
getLong()
always returns 0L, ifNullHandling.replaceWithDefault()
is set to true, or always throws an exception, ifNullHandling.replaceWithDefault()
is set to false.Object
getObject()
Always returns null.void
inspectRuntimeShape(RuntimeShapeInspector inspector)
Implementations of this method should callinspector.visit()
with all fields of this class, which meet two conditions: 1.static NilColumnValueSelector
instance()
boolean
isNull()
Returns true if the primitive long, double, or float value returned by this selector should be treated as null.
-
-
-
Method Detail
-
instance
public static NilColumnValueSelector instance()
-
getDouble
public double getDouble()
always returns 0, ifNullHandling.replaceWithDefault()
is set to true, or always throws an exception, ifNullHandling.replaceWithDefault()
is set to false.- Specified by:
getDouble
in interfaceBaseDoubleColumnValueSelector
-
getFloat
public float getFloat()
always returns 0.0f, ifNullHandling.replaceWithDefault()
is set to true, or always throws an exception, ifNullHandling.replaceWithDefault()
is set to false.- Specified by:
getFloat
in interfaceBaseFloatColumnValueSelector
-
getLong
public long getLong()
always returns 0L, ifNullHandling.replaceWithDefault()
is set to true, or always throws an exception, ifNullHandling.replaceWithDefault()
is set to false.- Specified by:
getLong
in interfaceBaseLongColumnValueSelector
-
getObject
@Nullable public Object getObject()
Always returns null.- Specified by:
getObject
in interfaceBaseObjectColumnValueSelector
-
classOfObject
public Class classOfObject()
Returns Object.class.- Specified by:
classOfObject
in interfaceBaseObjectColumnValueSelector
-
isNull
public boolean isNull()
Description copied from interface:BaseNullableColumnValueSelector
Returns true if the primitive long, double, or float value returned by this selector should be treated as null. Users ofBaseLongColumnValueSelector.getLong()
,BaseDoubleColumnValueSelector.getDouble()
andBaseFloatColumnValueSelector.getFloat()
must check this method first, or else they may improperly use placeholder values returned by the primitive get methods. Users ofBaseObjectColumnValueSelector.getObject()
should not call this method. Instead, call "getObject" and check if it is null.- Specified by:
isNull
in interfaceBaseNullableColumnValueSelector
-
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
-
-