package com.cognitionis.timeml_basickit;
import java.util.*;
/**
* TimeML class to represent TimeML file contents as Java Objects
* @author Hector Llorens
* @since 2011
*/
public class TimeML {
private Timex DCT;
private HashMap<String, Timex> timexes;
private HashMap<String, Event> events;
private HashMap<String, Event> makeinstances;
private ArrayList<Link> links;
private boolean links_normalized;
public TimeML(Timex dct, HashMap<String, Timex> t, HashMap<String, Event> e, HashMap<String, Event> m, ArrayList<Link> l){
DCT=dct;
timexes=t;
events=e;
makeinstances=m;
links=l;
links_normalized=false;
}
public void normalize_links(){
if(!links_normalized){
for(int i=0;i<links.size();i++){
Link tlink=links.get(i);
if((tlink.get_id1().startsWith("t") && tlink.get_id2().startsWith("ei"))
|| (tlink.get_id1().startsWith("ei") && tlink.get_id2().startsWith("ei") && Integer.parseInt(tlink.get_id1().substring(2)) > Integer.parseInt(tlink.get_id2().substring(2)))
|| (tlink.get_id1().startsWith("t") && tlink.get_id2().startsWith("t") && Integer.parseInt(tlink.get_id1().substring(1)) > Integer.parseInt(tlink.get_id2().substring(1)))){
tlink.swapRelationElements();
}
}
links_normalized=true;
}
}
public Timex getDCT(){
return DCT;
}
public HashMap<String, Timex> getTimexes(){
return timexes;
}
public HashMap<String, Event> getEvents(){
return events;
}
public HashMap<String, Event> getMakeinstances(){
return makeinstances;
}
public ArrayList<Link> getLinks(){
return links;
}
}