BAEL-7319, Introduction to Apache Calcite
This commit is contained in:
+7
@@ -0,0 +1,7 @@
|
||||
package com.baledung.calcite.model;
|
||||
|
||||
public class CompanySchema {
|
||||
public Employee[] employees;
|
||||
public Department[] departments;
|
||||
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.baledung.calcite.model;
|
||||
|
||||
public class Department {
|
||||
public String deptId;
|
||||
public String deptName;
|
||||
|
||||
public Department(String deptId, String deptName) {
|
||||
this.deptId = deptId;
|
||||
this.deptName = deptName;
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.baledung.calcite.model;
|
||||
|
||||
public class Employee {
|
||||
public String name;
|
||||
public String id;
|
||||
|
||||
public String deptId;
|
||||
|
||||
public Employee(String name, String id, String deptId) {
|
||||
this.name = name;
|
||||
this.id = id;
|
||||
this.deptId = deptId;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
@startuml
|
||||
'https://plantuml.com/class-diagram
|
||||
|
||||
|
||||
skinparam Handwritten true
|
||||
skinparam ClassBorderColor black/#63b175
|
||||
skinparam BackgroundColor #fdf8f6
|
||||
skinparam class {
|
||||
ArrowColor black/#63b175
|
||||
|
||||
}
|
||||
|
||||
'hide empty methods
|
||||
hide empty attributes
|
||||
|
||||
|
||||
interface Schema {
|
||||
+getTable()
|
||||
+getType()
|
||||
+getFunctions()
|
||||
+more methods()..
|
||||
}
|
||||
|
||||
interface SchemaFactory {
|
||||
+creates()
|
||||
}
|
||||
|
||||
interface Table {
|
||||
|
||||
}
|
||||
|
||||
interface TableFactory <T extends Table> {
|
||||
+create()
|
||||
}
|
||||
|
||||
interface SchemaFactory {
|
||||
}
|
||||
interface Schema {
|
||||
}
|
||||
interface Table {
|
||||
}
|
||||
interface TableFactory {
|
||||
}
|
||||
|
||||
|
||||
SchemaFactory -right-> Schema:creates
|
||||
CassandraSchemaFactory -right-|> SchemaFactory:implements
|
||||
CsvSchemaFactory -down-|> SchemaFactory:implements
|
||||
MongoSchemaFactory -down-|> SchemaFactory:implements
|
||||
FileSchemaFactory -down-|> SchemaFactory:implements
|
||||
TableFactory -right-> Table:creates
|
||||
Table <-up- Schema:gets
|
||||
CassandraSchema -down-|> Schema:implements
|
||||
CsvSchema -down-|> Schema:implements
|
||||
MongoSchema -up-|> Schema:implements
|
||||
SplunkSchema -up-|> Schema:implements
|
||||
|
||||
@enduml
|
||||
Reference in New Issue
Block a user