package eu.dnetlib.goldoa.domain.stats;

import com.google.gwt.user.client.rpc.IsSerializable;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * Created by antleb on 11/17/15.
 */
public class Series implements IsSerializable {

	public enum Category implements IsSerializable {
		COUNTRY("country"),
		ORGANIZATION("organization"),
		PUBLISHER("publisher"),
		PUBLICATION_TYPE("publication type"),
		STATUS("status");

		private String value = this.name();

		Category() {
		}

		Category(String value) {
			this.value = value;
		}

		public String getValue() {
			return value;
		}
	}

	private Map<Category, List<Quadruple<String, Integer, Float, Float>>> data;

	public Series() {
	}

	public Series(Map<Category, List<Quadruple<String, Integer, Float, Float>>> data) {
		this.data = data;
	}

	public List<Quadruple<String, Integer, Float, Float>> getData(Category category) {
		if (data.containsKey(category))
			return new ArrayList<Quadruple<String, Integer, Float, Float>>(data.get(category));
		else
			return new ArrayList<Quadruple<String, Integer, Float, Float>>();
	}

	public List<Category> getCategories() {
		return new ArrayList<Category>(data.keySet());
	}
}
