This sample class uses the generated thrift java classes.
If you build your code using the command
"mvn package"
, Thrift will compile the "sample.thrift" file and generate the java classes:
► target/generated-sources/thrift/mtitek.thrift.samples.Schema
► target/generated-sources/thrift/mtitek.thrift.samples.Table
► target/generated-sources/thrift/mtitek.thrift.samples.Column
► target/generated-sources/thrift/mtitek.thrift.samples.Constraint
package mtitek.thrift.samples;
import java.util.Map;
public class SampleThrift {
public static void main(String[] args) {
final Schema schema = initSchema();
System.out.println("Schema Name: " + schema.getSchemaName());
if (schema.isSetTables()) {
for (final Table table : schema.getTables()) {
System.out.println("Table Name: " + table.getTableName());
if (table.isSetTableName()) {
for (final Column column : table.getColumns()) {
System.out.println("Column Name: " + column.getColumnName());
System.out.println("Column Data Type: " + column.getDataType());
System.out.println("Column isNullable: " + column.isNullable());
if (column.isSetConstraints()) {
for (final Map.Entry<String, Constraint> entry : column.getConstraints().entrySet()) {
final String constraintName = entry.getKey();
final Constraint constraint = entry.getValue();
if (constraint.isSetPrimaryKey()) {
System.out.println(
"Constraint: {" + constraintName + ":" + constraint.getPrimaryKey() + "}");
}
if (constraint.isSetForeignKey()) {
System.out.println(
"Constraint: {" + constraintName + ":" + constraint.getForeignKey() + "}");
}
if (constraint.isSetUniqueKey()) {
System.out.println(
"Constraint: {" + constraintName + ":" + constraint.getUniqueKey() + "}");
}
}
}
}
}
}
}
}
private static Schema initSchema() {
final Constraint constraint1 = new Constraint();
constraint1.setPrimaryKey("primaryKey1");
final Constraint constraint2 = new Constraint();
constraint2.setForeignKey("foreignKey1");
final Constraint constraint3 = new Constraint();
constraint3.setUniqueKey("uniqueKey1");
final Column column = new Column();
column.setColumnName("column1");
column.setDataType("dataType1");
column.setNullable(Boolean.TRUE);
column.putToConstraints("constraint1", constraint1);
column.putToConstraints("constraint2", constraint2);
column.putToConstraints("constraint3", constraint3);
final Table table = new Table();
table.setTableName("table1");
table.addToColumns(column);
final Schema schema = new Schema();
schema.setSchemaName("schema1");
schema.addToTables(table);
return schema;
}
}