Skip to content

Instantly share code, notes, and snippets.

@smaspe
Last active December 18, 2015 15:28
Show Gist options
  • Save smaspe/5804112 to your computer and use it in GitHub Desktop.
Save smaspe/5804112 to your computer and use it in GitHub Desktop.
public class SQLSchema {
private Map<String, TypeHandler> fields = new HashMap<String, TypeHandler>();
private Class<? extends Storable> clazz;
public SQLSchema(Class<? extends Storable> clazz) {
this.clazz = clazz;
Field[] fields = SQLHelper.getFields(clazz);
for (Field field : fields) {
fields.put(field.getName(), TypeHandler.getHandler(field.getType()));
}
}
public String toString() {
StringBuilder builder = new StringBuilder("create table ");
builder.append(SQLHelper.getTableName(clazz));
builder.append(" (id integer primary key autoincrement");
for (Entry<String, TypeHandler> field : fields.entrySet()) {
builder.append(',').append(field.getKey());
builder.append(' ').append(field.getValue().getSQLType());
}
builder.append(");");
return builder.toString();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment