biblivre3.administration.reports.dto.AuthorsSearchResultsDTO.java Source code

Java tutorial

Introduction

Here is the source code for biblivre3.administration.reports.dto.AuthorsSearchResultsDTO.java

Source

/**
 *  Este arquivo  parte do Biblivre3.
 *  
 *  Biblivre3  um software livre; voc pode redistribu-lo e/ou 
 *  modific-lo dentro dos termos da Licena Pblica Geral GNU como 
 *  publicada pela Fundao do Software Livre (FSF); na verso 3 da 
 *  Licena, ou (caso queira) qualquer verso posterior.
 *  
 *  Este programa  distribudo na esperana de que possa ser  til, 
 *  mas SEM NENHUMA GARANTIA; nem mesmo a garantia implcita de
 *  MERCANTIBILIDADE OU ADEQUAO PARA UM FIM PARTICULAR. Veja a
 *  Licena Pblica Geral GNU para maiores detalhes.
 *  
 *  Voc deve ter recebido uma cpia da Licena Pblica Geral GNU junto
 *  com este programa, Se no, veja em <http://www.gnu.org/licenses/>.
 * 
 *  @author Alberto Wagner <alberto@biblivre.org.br>
 *  @author Danniel Willian <danniel@biblivre.org.br>
 * 
 */

package biblivre3.administration.reports.dto;

import java.util.Properties;
import java.util.Set;
import java.util.TreeMap;
import mercury.DTO;
import mercury.IFJson;
import org.json.JSONException;
import org.json.JSONObject;

/**
 *
 */
public class AuthorsSearchResultsDTO extends DTO implements IFJson {
    public TreeMap<String, Set<Integer>> nameIdsPairs;
    public int totalPages;
    public int totalRecords;
    public int currentPage;
    public int recordsPerPage;

    public int size() {
        return this.nameIdsPairs.size();
    }

    @Override
    public JSONObject toJSONObject(Properties properties) {
        JSONObject json = new JSONObject();

        try {
            json.put("totalPages", this.totalPages);
            json.put("totalRecords", this.totalRecords);
            json.put("currentPage", this.currentPage);
            json.put("recordsPerPage", this.recordsPerPage);

            for (String key : this.nameIdsPairs.keySet()) {
                JSONObject result = new JSONObject();
                result.putOpt("name", key);
                result.putOpt("resultRecordIds", nameIdsPairs.get(key).toString());
                result.putOpt("size", nameIdsPairs.get(key).size());
                json.append("results", result);
            }
        } catch (JSONException e) {
        }

        return json;
    }
}