本文整理汇总了Java中org.nutz.lang.Mirror.isEnum方法的典型用法代码示例。如果您正苦于以下问题:Java Mirror.isEnum方法的具体用法?Java Mirror.isEnum怎么用?Java Mirror.isEnum使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.nutz.lang.Mirror
的用法示例。
在下文中一共展示了Mirror.isEnum方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getAdaptor
import org.nutz.lang.Mirror; //导入方法依赖的package包/类
public ValueAdaptor getAdaptor(MappingField ef) {
Mirror<?> mirror = ef.getTypeMirror();
// 为数字型枚举的特殊判断
if (mirror.isEnum() && ColType.INT == ef.getColumnType())
return Jdbcs.Adaptor.asEnumInt;
// 用普通逻辑返回适配器
return Jdbcs.getAdaptor(mirror);
}
示例2: getAdaptor
import org.nutz.lang.Mirror; //导入方法依赖的package包/类
public static ValueAdaptor getAdaptor(Mirror<?> mirror) {
// String and char
if (mirror.isStringLike())
return Jdbcs.Adaptor.asString;
// Int
if (mirror.isInt())
return Jdbcs.Adaptor.asInteger;
// Boolean
if (mirror.isBoolean())
return Jdbcs.Adaptor.asBoolean;
// Long
if (mirror.isLong())
return Jdbcs.Adaptor.asLong;
// Enum
if (mirror.isEnum())
return Jdbcs.Adaptor.asEnumChar;
// Char
if (mirror.isChar())
return Jdbcs.Adaptor.asChar;
// Timestamp
if (mirror.isOf(Timestamp.class))
return Jdbcs.Adaptor.asTimestamp;
// Byte
if (mirror.isByte())
return Jdbcs.Adaptor.asByte;
// Short
if (mirror.isShort())
return Jdbcs.Adaptor.asShort;
// Float
if (mirror.isFloat())
return Jdbcs.Adaptor.asFloat;
// Double
if (mirror.isDouble())
return Jdbcs.Adaptor.asDouble;
// BigDecimal
if (mirror.isOf(BigDecimal.class))
return Jdbcs.Adaptor.asBigDecimal;
// java.sql.Date
if (mirror.isOf(java.sql.Date.class))
return Jdbcs.Adaptor.asSqlDate;
// java.sql.Time
if (mirror.isOf(java.sql.Time.class))
return Jdbcs.Adaptor.asSqlTime;
// Calendar
if (mirror.isOf(Calendar.class))
return Jdbcs.Adaptor.asCalendar;
// java.util.Date
if (mirror.isOf(java.util.Date.class))
return Jdbcs.Adaptor.asDate;
// Blob
if (mirror.isOf(Blob.class))
return new BlobValueAdaptor(conf.getPool());
// Clob
if (mirror.isOf(Clob.class))
return new ClobValueAdaptor(conf.getPool());
// byte[]
if (mirror.getType().isArray() && mirror.getType().getComponentType() == byte.class) {
return Jdbcs.Adaptor.asBytes;
}
// inputstream
if (mirror.isOf(InputStream.class))
return Jdbcs.Adaptor.asBinaryStream;
if (mirror.isOf(Reader.class))
return Jdbcs.Adaptor.asReader;
// 默认情况
return Jdbcs.Adaptor.asString;
}
示例3: render
import org.nutz.lang.Mirror; //导入方法依赖的package包/类
public void render(Object obj) throws IOException {
if (null == obj) {
writer.write("null");
} else if (obj instanceof JsonRender) {
((JsonRender) obj).render(null);
} else if (obj instanceof Class) {
string2Json(((Class<?>) obj).getName());
} else if (obj instanceof Mirror) {
string2Json(((Mirror<?>) obj).getType().getName());
} else {
Mirror mr = Mirror.me(obj.getClass());
// 枚举
if (mr.isEnum()) {
string2Json(((Enum) obj).name());
}
// 数字,布尔等
else if (mr.isNumber()) {
String tmp = obj.toString();
if (tmp.equals("NaN")) {
// TODO 怎样才能应用上JsonFormat中是否忽略控制呢?
// 因为此时已经写入了key:
writer.write("null");
}
else
writer.write(tmp);
}
else if (mr.isBoolean()) {
writer.append(obj.toString());
}
// 字符串
else if (mr.isStringLike() || mr.isChar()) {
string2Json(obj.toString());
}
// 日期时间
else if (mr.isDateTimeLike()) {
boolean flag = true;
if (obj instanceof Date) {
DateFormat df = format.getDateFormat();
if (df != null) {
string2Json(df.format((Date)obj));
flag = false;
}
}
if (flag)
string2Json(format.getCastors().castToString(obj));
}
// 其他
else {
// Map
if (obj instanceof Map) {
map2Json((Map) obj);
}
// 集合
else if (obj instanceof Collection) {
coll2Json((Collection) obj);
}
// 数组
else if (obj.getClass().isArray()) {
array2Json(obj);
}
// 普通 Java 对象
else {
memo.add(obj);
pojo2Json(obj);
memo.remove(obj);
}
}
}
}
示例4: parse
import org.nutz.lang.Mirror; //导入方法依赖的package包/类
@SuppressWarnings("rawtypes")
public Object parse(Object obj) {
if (null == obj) {
return null;
} else if (obj instanceof ObjCompileImpl) {
return ((ObjCompileImpl) obj).parse(null);
} else if (obj instanceof Class) {
return obj;
} else if (obj instanceof Mirror) {
return ((Mirror<?>) obj).getType().getName();
} else {
Mirror mr = Mirror.me(obj.getClass());
// 枚举
if (mr.isEnum()) {
return obj;
}
// 数字,布尔等
else if (mr.isNumber() || mr.isBoolean()) {
return obj;
}
// 字符串
else if (mr.isStringLike() || mr.isChar()) {
return obj;
}
// 日期时间
else if (mr.isDateTimeLike()) {
return obj;
}
// 其他
else {
// 既然到了这里, 那么断定它只有List, Array, Map, Object这4种类型
// 是否已经存在(循环引用)
if (memo.containsKey(obj)) {
return memo.get(obj);
} else {
// 这里使用了一个小小的占坑技巧,
if (obj instanceof Collection || obj.getClass().isArray()) {
List<Object> list = new ArrayList<Object>();
memo.put(obj, list);
// 集合
if (obj instanceof Collection) {
return coll2Json((Collection) obj, list);
}
// 数组
return array2Json(obj, list);
} else {
Map<String, Object> map = new LinkedHashMap<String, Object>();
memo.put(obj, map);
// Map
if (obj instanceof Map) {
return map2Json((Map) obj, map);
}
// 普通 Java 对象
return pojo2Json(obj, map);
}
}
}
}
}