/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.jlab.groot.group;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.jlab.groot.data.GraphErrors;
import org.jlab.groot.data.H1F;
import org.jlab.groot.data.H2F;
import org.jlab.groot.data.IDataSet;
import org.jlab.groot.math.F1D;
/**
*
* @author gavalian
*/
public class DataGroup {
Map dataGroup = new LinkedHashMap();
Map dataGroupOrder = new LinkedHashMap();
Map> dataGroupSets = new LinkedHashMap>();
int numberOfRows = 1;
int numberOfColumns = 1;
private String dataGroupName = "generic";
public DataGroup(){
}
public DataGroup(String name){
this.dataGroupName = name;
}
public final void setName(String name){ this.dataGroupName = name;}
public String getName(){ return this.dataGroupName;}
public DataGroup(String name, int ncols, int nrows){
this.dataGroupName = name;
this.numberOfColumns = ncols;
this.numberOfRows = nrows;
}
public DataGroup(int ncols, int nrows){
this.numberOfColumns = ncols;
this.numberOfRows = nrows;
}
public void addDataSet(IDataSet ds, int order){
if(dataGroupSets.containsKey(order)==false){
dataGroupSets.put(order, new ArrayList());
}
dataGroupSets.get(order).add(ds);
dataGroup.put(ds.getName(), ds);
/*
if(dataGroup.containsKey(ds.getName())==true){
System.out.println("[warning] --> object with name " + ds.getName()
+ " already exists..");
return;
}
dataGroup.put(ds.getName(), ds);
dataGroupOrder.put(ds.getName(), order);
*/
}
public int getColumns(){
return this.numberOfColumns;
}
public int getRows(){
return this.numberOfRows;
}
public IDataSet getData(String name){
if(this.dataGroup.containsKey(name)==false){
System.out.println("[error] ---> requested data set does not exist");
return null;
}
return this.dataGroup.get(name);
}
public GraphErrors getGraph(String name){
IDataSet ds = this.getData(name);
if(ds!=null){
if(ds instanceof GraphErrors){
return (GraphErrors) ds;
} else {
System.out.println("[error] ---> data set is " +
name + " not a Graph");
}
}
return null;
}
public F1D getF1D(String name){
IDataSet ds = this.getData(name);
if(ds!=null){
if(ds instanceof F1D){
return (F1D) ds;
} else {
System.out.println("[error] ---> data set is " +
name + " not an F1D");
}
}
return null;
}
public H1F getH1F(String name){
IDataSet ds = this.getData(name);
if(ds!=null){
if(ds instanceof H1F){
return (H1F) ds;
} else {
System.out.println("[error] ---> data set is " +
name + " not an H1F");
}
}
return null;
}
public H2F getH2F(String name){
IDataSet ds = this.getData(name);
if(ds!=null){
if(ds instanceof H2F){
return (H2F) ds;
} else {
System.out.println("[error] ---> data set is " +
name + " not an H2F");
}
}
return null;
}
public List getData(int order){
if(dataGroupSets.containsKey(order)==false)
return new ArrayList();
return dataGroupSets.get(order);
/*
List dataList = new ArrayList();
for(Map.Entry entry : dataGroupOrder.entrySet()){
if(entry.getValue()==order){
dataList.add(dataGroup.get(entry.getKey()));
}
}
return dataList;*/
}
}
Ads help maintain this website.