package com.lizard.fastdb.annotation;
import java.util.ArrayList;
import java.util.List;
@SuppressWarnings("serial")
public class ColumnType
{
/**
* 基本数据类型定义
*/
private final static List<Class<?>> PrimitiveClasses = new ArrayList<Class<?>>() {
{
add(Long.class);
add(Integer.class);
add(Double.class);
add(Float.class);
add(Short.class);
add(Character.class);
add(Boolean.class);
add(String.class);
add(java.util.Date.class);
add(java.sql.Date.class);
add(java.sql.Timestamp.class);
}
};
/**
* 数值型
*/
private final static List<String> NumberTypes = new ArrayList<String>() {
{
add("int");
add("integer");
add("biginteger");
add("long");
add("double");
add("float");
add("short");
add("char");
add("number");
}
};
/**
* 判断一个Class是否是基本数据类型
*
* @param cls
* 要进行判断的类
* @return 是否是基本数据类型
*/
public final static boolean isPrimitiveClass(Class<?> cls)
{
return cls.isPrimitive() || PrimitiveClasses.contains(cls);
}
/**
* 判断一个变量类型是否是数值型
*
* @param cls
* 变量类型
* @return true -- 是数值类型, 否则 false
*/
public final static boolean isNumberType(Class<?> cls)
{
return NumberTypes.contains((cls.getSimpleName()).toLowerCase());
}
}