Class TypeCastSelectors
java.lang.Object
org.apache.druid.frame.write.cast.TypeCastSelectors
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ObjectbestEffortCoerce(Object obj, ExpressionType desiredType) Coerce an object to an object compatible with whatBaseObjectColumnValueSelector.getObject()for a column of the provided desiredType.static ColumnValueSelector<?>makeColumnValueSelector(ColumnSelectorFactory columnSelectorFactory, String column, ColumnType desiredType) Create aColumnValueSelectorthat does its own typecasting if necessary.static ColumnValueSelector<?>wrapColumnValueSelectorIfNeeded(ColumnValueSelector<?> selector, ColumnCapabilities selectorCapabilities, RowIdSupplier rowIdSupplier, ColumnType desiredType) Wraps aColumnValueSelectorwith a type casting selector if necessary.
-
Constructor Details
-
TypeCastSelectors
public TypeCastSelectors()
-
-
Method Details
-
makeColumnValueSelector
public static ColumnValueSelector<?> makeColumnValueSelector(ColumnSelectorFactory columnSelectorFactory, String column, ColumnType desiredType) Create aColumnValueSelectorthat does its own typecasting if necessary. If typecasting is not necessary, returns a selector directly from the underlyingColumnSelectorFactory.- Parameters:
columnSelectorFactory- underlying factorycolumn- column namedesiredType- desired type of selector. Can be anything exceptColumnType.STRING. For strings, useDimensionSelectorrather thanColumnValueSelector.
-
wrapColumnValueSelectorIfNeeded
public static ColumnValueSelector<?> wrapColumnValueSelectorIfNeeded(ColumnValueSelector<?> selector, @Nullable ColumnCapabilities selectorCapabilities, @Nullable RowIdSupplier rowIdSupplier, ColumnType desiredType) Wraps aColumnValueSelectorwith a type casting selector if necessary. If typecasting is not necessary, returns the original selector.- Parameters:
selector- selectorselectorCapabilities- capabilities for the selector, fromColumnSelectorFactory.getColumnCapabilities(java.lang.String)rowIdSupplier- row id supplier, fromColumnSelectorFactory.getRowIdSupplier()desiredType- desired type for the returned selector
-
bestEffortCoerce
@Nullable public static Object bestEffortCoerce(@Nullable Object obj, @Nullable ExpressionType desiredType) Coerce an object to an object compatible with whatBaseObjectColumnValueSelector.getObject()for a column of the provided desiredType.- Parameters:
obj- objectdesiredType- desired type
-