public class ModelHandler extends 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 |
(package private) Lattice.Builder |
latticeBuilder |
private String |
modelUri |
private Deque<Pair<String,SchemaPlus>> |
schemaStack |
(package private) Lattice.TileBuilder |
tileBuilder |
| Constructor and Description |
|---|
ModelHandler(CalciteConnection connection,
String uri) |
| Modifier and Type | Method and Description |
|---|---|
static void |
addFunctions(SchemaPlus schema,
String functionName,
List<String> path,
String className,
String methodName,
boolean upCase)
Creates and validates a
ScalarFunctionImpl, and adds it to a
schema. |
private void |
checkRequiredAttributes(Object json,
String... attributeNames) |
static void |
create(SchemaPlus schema,
String functionName,
List<String> path,
String className,
String methodName)
|
private SchemaPlus |
currentMutableSchema(String elementType) |
private SchemaPlus |
currentSchema() |
private String |
currentSchemaName() |
private List<String> |
currentSchemaPath() |
protected Map<String,Object> |
operandMap(JsonSchema jsonSchema,
Map<String,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<String> |
stringList(Object s) |
private static com.google.common.collect.ImmutableList<com.google.common.collect.ImmutableList<String>> |
stringListList(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(JsonView jsonView) |
private final CalciteConnection connection
private final Deque<Pair<String,SchemaPlus>> schemaStack
private final String modelUri
Lattice.Builder latticeBuilder
Lattice.TileBuilder tileBuilder
public ModelHandler(CalciteConnection connection, String uri) throws IOException
IOException@Deprecated public static void create(SchemaPlus schema, String functionName, List<String> path, String className, String methodName)
public static void addFunctions(SchemaPlus schema, String functionName, List<String> path, String className, 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 quotespublic void visit(JsonRoot jsonRoot)
public void visit(JsonMapSchema jsonSchema)
private static com.google.common.collect.ImmutableList<com.google.common.collect.ImmutableList<String>> stringListList(List path)
private void populateSchema(JsonSchema jsonSchema, SchemaPlus schema)
public void visit(JsonCustomSchema jsonSchema)
protected Map<String,Object> operandMap(JsonSchema jsonSchema, Map<String,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 SchemaPlus currentSchema()
private String currentSchemaName()
private SchemaPlus currentMutableSchema(String elementType)
public void visit(JsonFunction jsonFunction)
public void visit(JsonMeasure jsonMeasure)
public void visit(JsonTile jsonTile)
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.