1 3 package jodd.db.orm; 4 5 8 public class DbNameUtil { 9 10 12 13 public static String convertClassNameToTableName(Class clazz) { 14 return convertClassNameToTableName(clazz, null); 15 } 16 public static String convertClassNameToTableName(Class clazz, String tablePrefix) { 17 return convertClassNameToTableName(clazz.getSimpleName(), tablePrefix); 18 } 19 20 public static String convertClassNameToTableName(String className) { 21 return convertClassNameToTableName(className, null); 22 } 23 24 29 public static String convertClassNameToTableName(String className, String tablePrefix) { 30 StringBuilder tableName = new StringBuilder (className.length() + 10); 31 if (tablePrefix != null) { 32 tableName.append(tablePrefix); 33 } 34 for (int i = 0; i < className.length(); i++) { 35 char c = className.charAt(i); 36 if ((i != 0) && (Character.isUpperCase(c) == true)) { 37 tableName.append('_').append(c); 38 } else { 39 tableName.append(Character.toUpperCase(c)); 40 } 41 } 42 return tableName.toString(); 43 } 44 45 public static String convertTableNameToClassName(String tableName) { 46 return convertTableNameToClassName(tableName, null); 47 } 48 49 54 public static String convertTableNameToClassName(String tableName, String tablePrefix) { 55 StringBuilder className = new StringBuilder (tableName.length()); 56 int i = 0; 57 if (tablePrefix != null) { 58 if (tableName.startsWith(tablePrefix) == true) { 59 i = tablePrefix.length(); 60 } 61 } 62 boolean toUpper = true; 63 for (; i < tableName.length(); i++) { 64 char c = tableName.charAt(i); 65 if (c == '_') { 66 toUpper = true; 67 continue; 68 } 69 if (toUpper == true) { 70 className.append(Character.toUpperCase(c)); 71 toUpper = false; 72 } else { 73 className.append(Character.toLowerCase(c)); 74 } 75 } 76 return className.toString(); 77 } 78 79 81 82 85 public static String convertPropertyNameToColumnName(String propertyName) { 86 StringBuilder tableName = new StringBuilder (propertyName.length() + 10); 87 for (int i = 0; i < propertyName.length(); i++) { 88 char c = propertyName.charAt(i); 89 if ((i != 0) && (Character.isUpperCase(c) == true)) { 90 tableName.append('_').append(c); 91 } else { 92 tableName.append(Character.toUpperCase(c)); 93 } 94 } 95 return tableName.toString(); 96 } 97 98 101 public static String convertColumnNameToPropertyName(String columnName) { 102 StringBuilder propertyName = new StringBuilder (columnName.length()); 103 int i = 0; 104 boolean toUpper = false; 105 for (; i < columnName.length(); i++) { 106 char c = columnName.charAt(i); 107 if (c == '_') { 108 toUpper = true; 109 continue; 110 } 111 if (toUpper == true) { 112 propertyName.append(Character.toUpperCase(c)); 113 toUpper = false; 114 } else { 115 propertyName.append(Character.toLowerCase(c)); 116 } 117 } 118 return propertyName.toString(); 119 } 120 } 121
| Popular Tags
|