public class ModelHandler
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
ModelHandler.ExtraOperand
Extra operands automatically injected into a
JsonCustomSchema.operand , as extra context for the adapter. |
Modifier and Type | Field and Description |
---|---|
private CalciteConnection |
connection |
private static com.fasterxml.jackson.databind.ObjectMapper |
JSON_MAPPER |
(package private) Lattice.Builder |
latticeBuilder |
private java.lang.String |
modelUri |
private java.util.Deque<Pair<java.lang.String,SchemaPlus>> |
schemaStack |
(package private) Lattice.TileBuilder |
tileBuilder |
private static com.fasterxml.jackson.databind.ObjectMapper |
YAML_MAPPER |
Constructor and Description |
---|
ModelHandler(CalciteConnection connection,
java.lang.String uri) |
Modifier and Type | Method and Description |
---|---|
static void |
addFunctions(SchemaPlus schema,
java.lang.String functionName,
java.util.List<java.lang.String> path,
java.lang.String className,
java.lang.String methodName,
boolean upCase)
Creates and validates a
ScalarFunctionImpl , and adds it to a
schema. |
private void |
checkRequiredAttributes(java.lang.Object json,
java.lang.String... attributeNames) |
static void |
create(SchemaPlus schema,
java.lang.String functionName,
java.util.List<java.lang.String> path,
java.lang.String className,
java.lang.String methodName)
|
private SchemaPlus |
currentMutableSchema(java.lang.String elementType) |
private SchemaPlus |
currentSchema() |
private java.lang.String |
currentSchemaName() |
private java.util.List<java.lang.String> |
currentSchemaPath() |
protected java.util.Map<java.lang.String,java.lang.Object> |
operandMap(JsonSchema jsonSchema,
java.util.Map<java.lang.String,java.lang.Object> operand)
Adds extra entries to an operand to a custom schema.
|
private void |
populateLattice(JsonLattice jsonLattice,
Lattice.Builder latticeBuilder) |
private void |
populateSchema(JsonSchema jsonSchema,
SchemaPlus schema) |
private static com.google.common.collect.ImmutableList<java.lang.String> |
stringList(java.lang.Object s) |
private static com.google.common.collect.ImmutableList<com.google.common.collect.ImmutableList<java.lang.String>> |
stringListList(java.util.List path) |
void |
visit(JsonColumn jsonColumn) |
void |
visit(JsonCustomSchema jsonSchema) |
void |
visit(JsonCustomTable jsonTable) |
void |
visit(JsonFunction jsonFunction) |
void |
visit(JsonJdbcSchema jsonSchema) |
void |
visit(JsonLattice jsonLattice) |
void |
visit(JsonMapSchema jsonSchema) |
void |
visit(JsonMaterialization jsonMaterialization) |
void |
visit(JsonMeasure jsonMeasure) |
void |
visit(JsonRoot jsonRoot) |
void |
visit(JsonTile jsonTile) |
void |
visit(JsonType jsonType) |
void |
visit(JsonView jsonView) |
private static final com.fasterxml.jackson.databind.ObjectMapper JSON_MAPPER
private static final com.fasterxml.jackson.databind.ObjectMapper YAML_MAPPER
private final CalciteConnection connection
private final java.util.Deque<Pair<java.lang.String,SchemaPlus>> schemaStack
private final java.lang.String modelUri
Lattice.Builder latticeBuilder
Lattice.TileBuilder tileBuilder
public ModelHandler(CalciteConnection connection, java.lang.String uri) throws java.io.IOException
java.io.IOException
@Deprecated public static void create(SchemaPlus schema, java.lang.String functionName, java.util.List<java.lang.String> path, java.lang.String className, java.lang.String methodName)
public static void addFunctions(SchemaPlus schema, java.lang.String functionName, java.util.List<java.lang.String> path, java.lang.String className, java.lang.String methodName, boolean upCase)
ScalarFunctionImpl
, and adds it to a
schema. If methodName
is "*", may add more than one function.schema
- Schema to add tofunctionName
- Name of function; null to derived from method namepath
- Path to look for functionsclassName
- Class to inspect for methods that may be user-defined
functionsmethodName
- Method name;
null means use the class as a UDF;
"*" means add all methodsupCase
- Whether to convert method names to upper case, so that they
can be called without using quotesprivate void checkRequiredAttributes(java.lang.Object json, java.lang.String... attributeNames)
public void visit(JsonRoot jsonRoot)
public void visit(JsonMapSchema jsonSchema)
private static com.google.common.collect.ImmutableList<com.google.common.collect.ImmutableList<java.lang.String>> stringListList(java.util.List path)
private static com.google.common.collect.ImmutableList<java.lang.String> stringList(java.lang.Object s)
private void populateSchema(JsonSchema jsonSchema, SchemaPlus schema)
public void visit(JsonCustomSchema jsonSchema)
protected java.util.Map<java.lang.String,java.lang.Object> operandMap(JsonSchema jsonSchema, java.util.Map<java.lang.String,java.lang.Object> operand)
public void visit(JsonJdbcSchema jsonSchema)
public void visit(JsonMaterialization jsonMaterialization)
public void visit(JsonLattice jsonLattice)
private void populateLattice(JsonLattice jsonLattice, Lattice.Builder latticeBuilder)
public void visit(JsonCustomTable jsonTable)
public void visit(JsonColumn jsonColumn)
public void visit(JsonView jsonView)
private java.util.List<java.lang.String> currentSchemaPath()
private SchemaPlus currentSchema()
private java.lang.String currentSchemaName()
private SchemaPlus currentMutableSchema(java.lang.String elementType)
public void visit(JsonType jsonType)
public void visit(JsonFunction jsonFunction)
public void visit(JsonMeasure jsonMeasure)
public void visit(JsonTile jsonTile)
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.