本文整理汇总了Java中org.apache.calcite.linq4j.tree.Primitive.ofBox方法的典型用法代码示例。如果您正苦于以下问题:Java Primitive.ofBox方法的具体用法?Java Primitive.ofBox怎么用?Java Primitive.ofBox使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.calcite.linq4j.tree.Primitive
的用法示例。
在下文中一共展示了Primitive.ofBox方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: convert
import org.apache.calcite.linq4j.tree.Primitive; //导入方法依赖的package包/类
private static Object convert(Object o, Class clazz) {
if (o == null) {
return null;
}
Primitive primitive = Primitive.of(clazz);
if (primitive != null) {
clazz = primitive.boxClass;
} else {
primitive = Primitive.ofBox(clazz);
}
if (clazz.isInstance(o)) {
return o;
}
if (o instanceof Date && primitive != null) {
o = ((Date) o).getTime() / DateTimeUtils.MILLIS_PER_DAY;
}
if (o instanceof Number && primitive != null) {
return primitive.number((Number) o);
}
return o;
}
示例2: chooseRep
import org.apache.calcite.linq4j.tree.Primitive; //导入方法依赖的package包/类
ArrayTable.Representation chooseRep(int ordinal) {
Primitive primitive = Primitive.of(clazz);
Primitive boxPrimitive = Primitive.ofBox(clazz);
Primitive p = primitive != null ? primitive : boxPrimitive;
if (!containsNull && p != null) {
switch (p) {
case FLOAT:
case DOUBLE:
return new ArrayTable.PrimitiveArray(ordinal, p, p);
case OTHER:
case VOID:
throw new AssertionError("wtf?!");
}
if (canBeLong(min) && canBeLong(max)) {
return chooseFixedRep(
ordinal, p, toLong(min), toLong(max));
}
}
// We don't want to use a dictionary if:
// (a) there are so many values that an object pointer (with one
// indirection) has about as many bits as a code (with two
// indirections); or
// (b) if there are very few copies of each value.
// The condition kind of captures this, but needs to be tuned.
final int codeCount = map.size() + (containsNull ? 1 : 0);
final int codeBitCount = log2(nextPowerOf2(codeCount));
if (codeBitCount < 10 && values.size() > 2000) {
final ArrayTable.Representation representation =
chooseFixedRep(-1, Primitive.INT, 0, codeCount - 1);
return new ArrayTable.ObjectDictionary(ordinal, representation);
}
return new ArrayTable.ObjectArray(ordinal);
}
示例3: javaPrimitive
import org.apache.calcite.linq4j.tree.Primitive; //导入方法依赖的package包/类
private Primitive javaPrimitive(RelDataType type) {
if (type instanceof RelDataTypeFactoryImpl.JavaType) {
return Primitive.ofBox(
((RelDataTypeFactoryImpl.JavaType) type).getJavaClass());
}
return null;
}
示例4: isA
import org.apache.calcite.linq4j.tree.Primitive; //导入方法依赖的package包/类
static boolean isA(Type fromType, Primitive primitive) {
return Primitive.of(fromType) == primitive
|| Primitive.ofBox(fromType) == primitive;
}