package net.sf.minuteProject.utils.java;
public class JavaUtils {
public static final String [] reservedWord =
new String [] {
"abstract",
"continue",
"for",
"new",
"switch",
"assert",
"default",
"goto",
"package",
"synchronized",
"boolean",
"do",
"if",
"private",
"this",
"break",
"double",
"implements",
"protected",
"throw",
"byte",
"else",
"import",
"public",
"throws",
"case",
"enum",
"instanceof",
"return",
"transient",
"catch",
"extends",
"int",
"short",
"try",
"char",
"final",
"interface",
"static",
"void",
"class",
"finally",
"long",
"strictfp",
"volatile",
"const",
"float",
"native",
"super",
"while" };
public static boolean isReservedWord(String word) {
if (word==null)
return false;
for (int i = 0; i < reservedWord.length; i++) {
if (word.equals(reservedWord[i]))
return true;
}
return false;
}
public static String getJavaVariableNaming (String javaVar) {
return (isReservedWord(javaVar))?javaVar+"Name":javaVar;
}
public static String getJavaClassNaming (String javaClass) {
if (javaClass==null) return "ERROR_JAVA_CLASS_IS_NULL";
return (isReservedWord(javaClass.toLowerCase()))?javaClass+"Name":javaClass;
}
/**
* A common method for all enums since they can't have another base class
*
* from: http://stackoverflow.com/questions/604424/java-convert-string-to-enum
* <pre>
* public static MyEnum fromString(String name)
* {
* return getEnumFromString(MyEnum.class, name);
* }
* </pre>
*
* @param <T> Enum type
* @param c enum type. All enums must be all caps.
* @param string case insensitive
* @return corresponding enum, or null
*/
public static <T extends Enum<T>> T getEnumFromString(Class<T> c, String string)
{
if( c != null && string != null )
{
try
{
return Enum.valueOf(c, string.trim().toUpperCase());
}
catch(IllegalArgumentException ex)
{
}
}
return null;
}
}