KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > persist > DefaultNameGuesser


1 // $Id: DefaultNameGuesser.java 12 2007-08-29 05:23:13Z jcamaia $
2

3 package net.sf.persist;
4
5 import java.util.LinkedHashSet JavaDoc;
6 import java.util.Locale JavaDoc;
7 import java.util.Set JavaDoc;
8
9 /**
10  * Default NameGuesser implementation.
11  */

12 public final class DefaultNameGuesser implements NameGuesser {
13
14     /**
15      * Given a field or class name in the form CompoundName (for classes) or
16      * compoundName (for fields) will return a set of guessed names such as
17      * [compound_name, compound_names, compoundname, compoundnames].
18      */

19     public Set JavaDoc<String JavaDoc> guessColumn(final String JavaDoc fieldOrClassName) {
20
21         final String JavaDoc nameUnderscore = fieldOrClassName.replaceAll("([A-Z])", "_$1").toLowerCase();
22         final String JavaDoc nameLowercase = fieldOrClassName.toLowerCase(Locale.ENGLISH);
23
24         final Set JavaDoc<String JavaDoc> names = new LinkedHashSet JavaDoc();
25         names.add(nameUnderscore);
26         names.add(nameLowercase);
27         names.add(nameUnderscore + "s");
28         names.add(nameLowercase + "s");
29         return names;
30     }
31
32 }
33
Popular Tags