/*
* Copyright 2001-2013 Geert Bevin (gbevin[remove] at uwyn dot com)
* Licensed under the Apache License, Version 2.0 (the "License")
*/
package com.uwyn.rife.tools;
import java.util.Date;
public abstract class ClassUtils
{
public static boolean isNumeric(Class klass)
{
if (Number.class.isAssignableFrom(klass) ||
byte.class == klass ||
short.class == klass ||
int.class == klass ||
long.class == klass ||
float.class == klass ||
double.class == klass)
{
return true;
}
return false;
}
public static boolean isText(Class klass)
{
if (CharSequence.class.isAssignableFrom(klass) ||
Character.class == klass ||
char.class == klass)
{
return true;
}
return false;
}
public static boolean isBasic(Class klass)
{
if (null == klass)
{
return false;
}
if (isNumeric(klass) ||
boolean.class == klass ||
Boolean.class == klass ||
Date.class.isAssignableFrom(klass) ||
klass.isEnum() ||
isText(klass))
{
return true;
}
return false;
}
public static String simpleClassName(Class klass)
{
String class_name = klass.getName();
if (klass.getPackage() != null)
{
class_name = class_name.substring(klass.getPackage().getName().length() + 1);
}
return class_name;
}
public static String shortenClassName(Class klass)
{
return simpleClassName(klass).replace('$', '_').toLowerCase();
}
public static String[] getEnumClassValues(Class klass)
{
if (JavaSpecificationUtils.isAtLeastJdk15() &&
klass.isEnum())
{
Object[] values = klass.getEnumConstants();
return ArrayUtils.createStringArray(values);
}
return null;
}
}