NameUtils.java
package com.github.mygreen.sqlmapper.core.util;
import org.springframework.util.StringUtils;
/**
* 名前に関するユーティリティクラスです。
*
*
* @author T.TSUCHIE
*
*/
public class NameUtils {
/**
* 先頭の文字を大文字にする。
* <pre>
* Utils.capitalize(null) = null
* Utils.capitalize("") = ""
* Utils.capitalize("cat") = "Cat"
* Utils.capitalize("cAt") = "CAt"
* </pre>
*
* @param str 処理対象の文字列
* @return 引数がnull、空文字の場合、そのまま返す。
*/
public static String capitalize(final String str) {
final int strLen;
if(str == null || (strLen = str.length()) == 0) {
return str;
}
return new StringBuilder(strLen)
.append(String.valueOf(str.charAt(0)).toUpperCase())
.append(str.substring(1))
.toString();
}
/**
* 先頭の文字を小文字にする。
*
* @param str 変換対象の文字
* @return 引数がnull、空文字の場合、そのまま返す。
*/
public static String uncapitalize(final String str) {
final int strLen;
if(str == null || (strLen = str.length()) == 0) {
return str;
}
return new StringBuilder(strLen)
.append(String.valueOf(str.charAt(0)).toLowerCase())
.append(str.substring(1))
.toString();
}
/**
* テーブルのカタログやスキーマを含んだ完全な名前を返します。
*
* @param table テーブル名
* @param catalog カタログ名(オプション)
* @param schema スキーマ名(オプション)
* @return テーブルの完全な名前
*/
public static String tableFullName(String table, String catalog, String schema) {
StringBuilder sb = new StringBuilder();
if(StringUtils.hasLength(catalog)) {
sb.append(catalog).append(".");
}
if(StringUtils.hasLength(schema)) {
sb.append(schema).append(".");
}
return sb.append(table).toString();
}
}