/** * * Copyright * 2009-2015 Jayway Products AB * 2016-2017 Föreningen Sambruk * * Licensed under AGPL, Version 3.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.gnu.org/licenses/agpl.txt * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.streamsource.streamflow.statistic.dto; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by IntelliJ IDEA. User: arvidhuss Date: 2/20/12 Time: 12:53 PM To * change this template use File | Settings | File Templates. */ public class CaseCount implements Comparable<CaseCount> { protected String name; protected Integer total = new Integer( 0 ); protected Map<String, Period> values; public CaseCount(String name, String[] periods) { this.name = name; this.values = new HashMap<String, Period>(); for (int i = 0; i < periods.length; i++) { this.values.put( periods[i], new Period( periods[i] ) ); } } public String getName() { return name; } public Integer getTotal() { return total; } public void addCount(String period, Integer count) { values.get( period ).setCount( count ); total += count; } public List<Period> getValues() { ArrayList<Period> periods = new ArrayList<Period>( values.values() ); Collections.sort( periods ); return periods; } public int compareTo(CaseCount o) { return ((CaseCount) o).total - this.total; } }