当前位置: 首页>>代码示例>>Java>>正文


Java Mirror.isEnum方法代码示例

本文整理汇总了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);
}
 
开发者ID:cowthan,项目名称:JavaAyo,代码行数:9,代码来源:AbstractJdbcExpert.java

示例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;
}
 
开发者ID:cowthan,项目名称:JavaAyo,代码行数:69,代码来源:Jdbcs.java

示例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);
            }
        }
    }
}
 
开发者ID:cowthan,项目名称:JavaAyo,代码行数:70,代码来源:JsonRenderImpl.java

示例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);
                }
            }
        }
    }
}
 
开发者ID:cowthan,项目名称:JavaAyo,代码行数:60,代码来源:ObjCompileImpl.java


注:本文中的org.nutz.lang.Mirror.isEnum方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。