Package org.nutz.dao

Source Code of org.nutz.dao.QueryResult

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;

/**
* 封装了一个分页查询的结果集合,包括本页数据列表以及分页信息
* <p/><b>虽然这个类实现了Serializable,但需要注意的是,list的值必须也是Serializable的,才能确保整个对象可Serializable</b>
* @author zozoh(zozohtnt@gmail.com)
*
* @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() {}

    public QueryResult(List<?> list, Pager pager) {
        this.list = list;
        this.pager = pager;
    }

    public List<?> getList() {
        return list;
    }

    @SuppressWarnings("unchecked")
    public <T> List<T> getList(Class<T> eleType) {
        return (List<T>) list;
    }

    @SuppressWarnings("unchecked")
    public <T> List<T> convertList(Class<T> eleType) {
        if (null == list || list.isEmpty())
            return (List<T>) list;

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

        return re;
    }

    public QueryResult setList(List<?> list) {
        this.list = list;
        return this;
    }

    public Pager getPager() {
        return pager;
    }

    public QueryResult setPager(Pager pager) {
        this.pager = pager;
        return this;
    }

}
TOP

Related Classes of org.nutz.dao.QueryResult

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.