All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nutz.dao.QueryResult Maven / Gradle / Ivy

package org.nutz.dao;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import org.nutz.castor.Castors;
import org.nutz.dao.pager.Pager;

/**
 * 封装了一个分页查询的结果集合,包括本页数据列表以及分页信息
 * @author zozoh([email protected])
 * @author wendal([email protected])
 * 
 * @see org.nutz.dao.pager.Pager
 */
public class QueryResult implements Serializable {

    private static final long serialVersionUID = 5104522523949248573L;
    private List list;
    private Pager pager;

    /**
     * 新建一个分页查询的结果集合
     */
    public QueryResult() {}

    /**
     * 一个分页查询的结果集合
     * @param list 查询结果
     * @param pager 分页对象
     */
    public QueryResult(List list, Pager pager) {
        this.list = list;
        this.pager = pager;
    }

    /**
     * 获取结果集
     * @return 结果集
     */
    public List getList() {
        return list;
    }

    /**
     * 按特定泛型获取结果集,属于直接强转,不带转换
     * @param eleType 泛型
     * @return 结果集
     */
    @SuppressWarnings("unchecked")
    public  List getList(Class eleType) {
        return (List) list;
    }

    /**
     * 转换为特定类型的结果集
     * @param eleType 新的结果集
     * @return 特定类型的结果集
     */
    @SuppressWarnings("unchecked")
    public  List convertList(Class eleType) {
        if (null == list || list.isEmpty())
            return (List) list;

        List re = new ArrayList(list.size());
        Castors castors = Castors.me();
        for (Object obj : list)
            re.add(castors.castTo(obj, eleType));

        return re;
    }

    /**
     * 设置结果集
     * @param list 结果集
     * @return 当前对象,用于链式调用
     */
    public QueryResult setList(List list) {
        this.list = list;
        return this;
    }

    /**
     * 获取分页对象
     * @return 分页对象
     */
    public Pager getPager() {
        return pager;
    }

    /**
     * 设置分页对象
     * @param pager 分页对象
     * @return 当前对象,用于链式调用
     */
    public QueryResult setPager(Pager pager) {
        this.pager = pager;
        return this;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy