public String columnToPropertyName(TableIdentifier table, String columnName) { String decapitalize = Introspector.decapitalize( toUpperCamelCase(columnName) ); return keywordCheck( decapitalize ); }
public String foreignKeyToEntityName(String keyname, TableIdentifier fromTable, List<?> fromColumnNames, TableIdentifier referencedTable, List<?> referencedColumnNames, boolean uniqueReference) { String propertyName = Introspector.decapitalize( StringHelper.unqualify( getRoot().tableToClassName(referencedTable) ) ); if(!uniqueReference) { if(fromColumnNames!=null && fromColumnNames.size()==1) { String columnName = ( (Column) fromColumnNames.get(0) ).getName(); propertyName = propertyName + "By" + toUpperCamelCase(columnName); } else { // composite key or no columns at all safeguard propertyName = propertyName + "By" + toUpperCamelCase(keyname); } } return propertyName; }
public String tableToClassName(TableIdentifier tableIdentifier) { String pkgName = settings.getDefaultPackageName(); String className = toUpperCamelCase( tableIdentifier.getName() ); if(pkgName.length()>0) { return StringHelper.qualify(pkgName, className); } else { return className; } }
/** * Does some crude english pluralization * TODO: are the from/to names correct ? */ public String foreignKeyToCollectionName(String keyname, TableIdentifier fromTable, List<?> fromColumns, TableIdentifier referencedTable, List<?> referencedColumns, boolean uniqueReference) { String propertyName = Introspector.decapitalize( StringHelper.unqualify( getRoot().tableToClassName(fromTable) ) ); propertyName = pluralize( propertyName ); if(!uniqueReference) { if(fromColumns!=null && fromColumns.size()==1) { String columnName = ( (Column) fromColumns.get(0) ).getName(); propertyName = propertyName + "For" + toUpperCamelCase(columnName); } else { // composite key or no columns at all safeguard propertyName = propertyName + "For" + toUpperCamelCase(keyname); } } return propertyName; }
public String foreignKeyToManyToManyName(ForeignKey fromKey, TableIdentifier middleTable, ForeignKey toKey, boolean uniqueReference) { String propertyName = Introspector.decapitalize( StringHelper.unqualify( getRoot().tableToClassName(TableIdentifier.create( toKey.getReferencedTable()) )) ); propertyName = pluralize( propertyName ); if(!uniqueReference) { //TODO: maybe use the middleTable name here ? if(toKey.getColumns()!=null && toKey.getColumns().size()==1) { String columnName = ( (Column) toKey.getColumns().get(0) ).getName(); propertyName = propertyName + "For" + toUpperCamelCase(columnName); } else { // composite key or no columns at all safeguard propertyName = propertyName + "For" + toUpperCamelCase(toKey.getName()); } } return propertyName; }