public class NilColumnValueSelector extends Object implements ColumnValueSelector
EMPTY_ARRAY| Modifier and Type | Method and Description |
|---|---|
Class |
classOfObject()
Returns Object.class.
|
double |
getDouble()
always returns 0, if
NullHandling.replaceWithDefault() is set to true,
or always throws an exception, if NullHandling.replaceWithDefault() is
set to false. |
float |
getFloat()
always returns 0.0f, if
NullHandling.replaceWithDefault() is set to true,
or always throws an exception, if NullHandling.replaceWithDefault() is
set to false. |
long |
getLong()
always returns 0L, if
NullHandling.replaceWithDefault() is set to true,
or always throws an exception, if NullHandling.replaceWithDefault() is
set to false. |
Object |
getObject()
Always returns null.
|
void |
inspectRuntimeShape(RuntimeShapeInspector inspector)
Implementations of this method should call
inspector.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.
|
public static NilColumnValueSelector instance()
public double getDouble()
NullHandling.replaceWithDefault() is set to true,
or always throws an exception, if NullHandling.replaceWithDefault() is
set to false.getDouble in interface BaseDoubleColumnValueSelectorpublic float getFloat()
NullHandling.replaceWithDefault() is set to true,
or always throws an exception, if NullHandling.replaceWithDefault() is
set to false.getFloat in interface BaseFloatColumnValueSelectorpublic long getLong()
NullHandling.replaceWithDefault() is set to true,
or always throws an exception, if NullHandling.replaceWithDefault() is
set to false.getLong in interface BaseLongColumnValueSelector@Nullable public Object getObject()
getObject in interface BaseObjectColumnValueSelectorpublic Class classOfObject()
classOfObject in interface BaseObjectColumnValueSelectorpublic boolean isNull()
BaseNullableColumnValueSelectorBaseLongColumnValueSelector.getLong(), BaseDoubleColumnValueSelector.getDouble()
and BaseFloatColumnValueSelector.getFloat() must check this method first, or else they may improperly
use placeholder values returned by the primitive get methods.
Users of BaseObjectColumnValueSelector.getObject() should not call this method. Instead, call "getObject"
and check if it is null.isNull in interface BaseNullableColumnValueSelectorpublic void inspectRuntimeShape(RuntimeShapeInspector inspector)
HotLoopCalleeinspector.visit() with all fields of this class, which meet two
conditions:
1. They are used in methods of this class, annotated with CalledFromHotLoop
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 type Set could be HashSet or TreeSet 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.inspectRuntimeShape in interface HotLoopCalleeCopyright © 2011–2020 The Apache Software Foundation. All rights reserved.