From 7e7e4369d49699b3476aed03cdb94968a591be98 Mon Sep 17 00:00:00 2001 From: mdb Date: Sat, 31 May 2003 03:02:46 +0000 Subject: [PATCH] Export the function we use to unstudlify member names when converting them to column names. git-svn-id: https://samskivert.googlecode.com/svn/trunk@1141 6335cc39-0255-0410-8fd6-9bcaacd3b74c --- .../java/com/samskivert/jdbc/jora/Table.java | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/projects/samskivert/src/java/com/samskivert/jdbc/jora/Table.java b/projects/samskivert/src/java/com/samskivert/jdbc/jora/Table.java index eba5a3b2..9c3ffd38 100644 --- a/projects/samskivert/src/java/com/samskivert/jdbc/jora/Table.java +++ b/projects/samskivert/src/java/com/samskivert/jdbc/jora/Table.java @@ -646,6 +646,31 @@ public class Table { ", primaryKeys=" + StringUtil.toString(primaryKeys) + "]"; } + /** + * Converts a name like weAreSoCool to a column name of + * the form we_are_so_cool. + */ + public static String unStudlyName (String name) + { + boolean seenLower = false; + StringBuffer nname = new StringBuffer(); + int nlen = name.length(); + for (int i = 0; i < nlen; i++) { + char c = name.charAt(i); + // if we see an upper case character and we've seen a lower + // case character since the last time we did so, slip in an _ + if (Character.isUpperCase(c)) { + nname.append("_"); + seenLower = false; + nname.append(c); + } else { + seenLower = true; + nname.append(Character.toUpperCase(c)); + } + } + return nname.toString(); + } + /** Spearator of name components of compound field. For example, if Java * class constains component "location" of Point class, which * has two components "x" and "y", then database table should @@ -829,24 +854,7 @@ public class Table { private final String convertName (String name) { if (mixedCaseConvert) { - boolean seenLower = false; - StringBuffer nname = new StringBuffer(); - int nlen = name.length(); - for (int i = 0; i < nlen; i++) { - char c = name.charAt(i); - // if we see an upper case character and we've seen a lower - // case character since the last time we did so, slip in an _ - if (Character.isUpperCase(c)) { - nname.append("_"); - seenLower = false; - nname.append(c); - } else { - seenLower = true; - nname.append(Character.toUpperCase(c)); - } - } - return nname.toString(); - + return unStudlyName(name); } else { return name; }