package com.freedomotic.plugins.devices.persistence.cassandra; import java.util.List; /** * Generic POJO class to model a Cassandra table */ public class CassandraTable { /** The name. */ private final String name; /** The columns. */ private final List<CassandraColumn> columns; /** * Instantiates a new cassandra table. * * @param name the name * @param columns the columns */ public CassandraTable(String name, List<CassandraColumn> columns) { super(); this.name = name; this.columns = columns; } /** * Gets the name. * * @return the name */ public String getName() { return name; } /** * Tit returns a string representaton of the table. * It should be used to prepare a table generation script * * @return the string */ public String tableToString() { StringBuffer sb = new StringBuffer(name); sb.append(" ("); for(CassandraColumn column:this.columns) { sb.append(column.toString()); sb.append(", "); } sb.replace(sb.lastIndexOf(", "),sb.length(),""); return sb.append(")").toString(); } } class CassandraColumn { private final String name; private final String type; private final boolean primaryKey; public CassandraColumn(String name, String type, boolean primaryKey) { super(); this.name = name; this.type = type; this.primaryKey = primaryKey; } public CassandraColumn(String name, String type) { super(); this.name = name; this.type = type; this.primaryKey = false; } @Override public String toString() { return this.name+" "+this.type+((primaryKey)?" PRIMARY KEY" : ""); } }