Java tutorial
/** * ResultList * Copyright 12.11.2015 by Michael Peter Christen, @0rb1t3r * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; wo even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program in the file lgpl21.txt * If not, see <http://www.gnu.org/licenses/>. */ package org.loklak.objects; import java.util.ArrayList; import org.json.JSONArray; import org.json.JSONException; import org.loklak.susi.SusiThought; public class ResultList<E> extends ArrayList<E> { private static final long serialVersionUID = -982453065951290203L; private long hits = -1; public ResultList() { super(); } /** * set the number of total hits this list has * @param totalHits */ public void setHits(long totalHits) { this.hits = totalHits; } /** * get the number of total hits * @return */ public long getHits() { return this.hits == -1 ? this.size() : this.hits; } public void clear() { super.clear(); this.hits = -1; } public SusiThought toSusi() throws JSONException { SusiThought json = new SusiThought().setHits(this.size()); JSONArray statuses = new JSONArray(); for (E t : this) { if (t instanceof QueryEntry) { QueryEntry qe = (QueryEntry) t; statuses.put(qe.toJSON()); } } json.setData(statuses); return json; } }