Skip to content

Instantly share code, notes, and snippets.

@bofh19
Last active August 29, 2015 14:24
Show Gist options
  • Save bofh19/ba67f1a6d58b5e5a005b to your computer and use it in GitHub Desktop.
Save bofh19/ba67f1a6d58b5e5a005b to your computer and use it in GitHub Desktop.
// create table query for sqlite generated dynamically
private static String getDynamicTableName(Object temp) {
String table_name = temp.getClass().getSimpleName();
Field[] fields = temp.getClass().getDeclaredFields();
String out = "CREATE TABLE " + table_name + "(";
boolean contains_id = false;
boolean first_time = true;
for (Field field : fields) {
if (!first_time) {
out = out + ", ";
} else {
first_time = false;
}
if (field.getName().equals("_id")) {
contains_id = true;
out = out + "_id INTEGER PRIMARY KEY AUTOINCREMENT";
} else if (field.getType().equals(String.class)) {
out = out + field.getName() + " TEXT";
} else if (field.getType().equals(Integer.class) || field.getType().equals(Boolean.class)
|| field.getType().equals(boolean.class) || field.getType().equals(int.class)
|| field.getType().equals(Long.class) || field.getType().equals(long.class)) {
out = out + field.getName() + " INTEGER";
} else if (field.getType().equals(float.class) || field.getType().equals(Double.class)
|| field.getType().equals(double.class)) {
out = out + field.getName() + " DECIMAL(10,5)";
} else {
System.out.println("IGNORE FIELD FIX IT");
System.out.println(field.getName());
System.out.println("type: " + field.getType());
}
}
if (!contains_id) {
out = out + ", _id INTEGER PRIMARY KEY AUTOINCREMENT";
}
out = out + ");";
System.out.println("----------");
System.out.println(out);
return out;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment