package com.blogger.tcuri.appserver;
import java.util.ResourceBundle;
import com.blogger.tcuri.appserver.config.XMLResourceBundleControl;
/**
* ユーティリティークラスです
*
* @author tomofumi
*/
public class Utils {
/**
* 指定された文字が、nullまたスペースのみで構成されるかチェックする
*
* @param text
* チェックする文字
* @return 指定された文字がnullまたスペースのみで構成される場合、true
*/
public static boolean isBlank(String text) {
return text == null || text.trim().length() == 0;
}
/**
* 指定された文字が、nullまたスペースのみで構成されるかチェックする
*
* @param text
* チェックする文字
* @return 指定された文字がnullまたスペースのみで構成される場合、false
*/
public static boolean isNotBlank(String text) {
return !isBlank(text);
}
/**
* 指定されたキーに対するラベル名を取得する
*
* @param key キー
* @return ラベル名
*/
public static String getLabel(String key) {
String value = null;
ResourceBundle bundle = ResourceBundle.getBundle("config/label",
new XMLResourceBundleControl());
value = bundle.getString(key);
if (value == null) {
return key;
}
return value;
}
/**
* 指定されたキーに対するメッセージを取得する
*
* @param key キー
* @return メッセージ
*/
public static String getMessage(String key) {
ResourceBundle bundle = ResourceBundle.getBundle("config/message",
new XMLResourceBundleControl());
return bundle.getString(key);
}
/**
* 指定されたクラスのインスタンスを生成する
*
* @param clazz クラス
* @return インスタンス
*/
public static <T> T newInstance(Class<T> clazz) {
T t = null;
try {
t = clazz.newInstance();
} catch (Exception e) {
throw new RuntimeException(e);
}
return t;
}
/**
* クラス名を指定し、インスタンスを生成する
*
* @param name クラス名
* @return インスタンス
*/
@SuppressWarnings("unchecked")
public static <T> T newInstance(String name) {
return (T) newInstance(getClassByName(name));
}
/**
* クラス名を指定し、クラスを取得する
*
* @param name クラス名
* @return クラス
*/
public static Class<?> getClassByName(String name) {
Class<?> clazz = null;
try {
clazz = Class.forName(name);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
return clazz;
}
}