Package org.apache.calcite.adapter.java
Interface JavaTypeFactory
-
- All Superinterfaces:
RelDataTypeFactory
- All Known Implementing Classes:
JavaTypeFactoryExtImpl
,JavaTypeFactoryImpl
public interface JavaTypeFactory extends RelDataTypeFactory
Type factory that can register Java classes as record types.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.calcite.rel.type.RelDataTypeFactory
RelDataTypeFactory.Builder, RelDataTypeFactory.FieldInfo, RelDataTypeFactory.FieldInfoBuilder
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description RelDataType
createStructType(java.lang.Class clazz)
Creates a record type based upon the public fields of a Java class.java.lang.reflect.Type
createSyntheticType(java.util.List<java.lang.reflect.Type> types)
Creates a synthetic Java class whose fields have the given Java types.RelDataType
createType(java.lang.reflect.Type type)
Creates a type, deducing whether a record, scalar or primitive type is needed.java.lang.reflect.Type
getJavaClass(RelDataType type)
RelDataType
toSql(RelDataType type)
Converts a type in Java format to a SQL-oriented type.-
Methods inherited from interface org.apache.calcite.rel.type.RelDataTypeFactory
builder, copyType, createArrayType, createDecimalProduct, createDecimalQuotient, createJavaType, createJoinType, createMapType, createMultisetType, createSqlIntervalType, createSqlType, createSqlType, createSqlType, createStructType, createStructType, createStructType, createStructType, createTypeWithCharsetAndCollation, createTypeWithNullability, createUnknownType, getDefaultCharset, getTypeSystem, leastRestrictive, useDoubleMultiplication
-
-
-
-
Method Detail
-
createStructType
RelDataType createStructType(java.lang.Class clazz)
Creates a record type based upon the public fields of a Java class.- Parameters:
clazz
- Java class- Returns:
- Record type that remembers its Java class
-
createType
RelDataType createType(java.lang.reflect.Type type)
Creates a type, deducing whether a record, scalar or primitive type is needed.- Parameters:
type
- Java type, such as aClass
- Returns:
- Record or scalar type
-
getJavaClass
java.lang.reflect.Type getJavaClass(RelDataType type)
-
createSyntheticType
java.lang.reflect.Type createSyntheticType(java.util.List<java.lang.reflect.Type> types)
Creates a synthetic Java class whose fields have the given Java types.
-
toSql
RelDataType toSql(RelDataType type)
Converts a type in Java format to a SQL-oriented type.
-
-