アンダースコア記法をキャメル記法に

Tags: ,
  2009/09/06 16:45

テーブルのカラム名をEnumにして、関連づけを全部そこに任せていたんだけど、
ApacheCayenneはカラム名などをキャメル記法で渡す。う゛ぁーって感じ。
なので変換メソッドを作った。

	public static String camelize(String s){
		char[] c = s.toLowerCase().toCharArray();
		StringBuilder r = new StringBuilder(s.length());
		int diff = 'A' - 'a';
		for (int i = 0; i < c.length; i++) {
			if (c[i] == '_') {
				r.append((char)(c[++i] + diff));
			} else {
				r.append(c[i]);
			}
		}
		return r.toString();
	}

動作良好。