BAEL-7319, Introduction to Apache Calcite

This commit is contained in:
parthiv39731
2024-01-14 18:01:21 +05:30
parent 797f1e1737
commit e2b84b5919
9 changed files with 251 additions and 0 deletions
@@ -0,0 +1,7 @@
package com.baledung.calcite.model;
public class CompanySchema {
public Employee[] employees;
public Department[] departments;
}
@@ -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;
}
}
@@ -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