Last active
August 29, 2015 14:24
-
-
Save bofh19/ba67f1a6d58b5e5a005b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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