package esl.cuenet.generative.structs; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; public class Ontology { private final int eventCount; private HashMap<Integer, SubeventStructure> index = new HashMap<Integer, SubeventStructure>(); private SubeventStructure current = null; public Ontology(int eventCount) { this.eventCount = eventCount; } public int getEventCount() { return eventCount; } public void startTree(int id) { // System.out.println("Starting " + id); current = new SubeventStructure(id); index.put(id, current); } public void addEdges(int start, int[] end) { // System.out.println(start + " " + Arrays.toString(end)); List<Integer> subeventList; if (current.edges.containsKey(start)) subeventList = current.edges.get(start); else { subeventList = new ArrayList<Integer>(); current.edges.put(start, subeventList); } for (int e: end) subeventList.add(e); } private class SubeventStructure { final int eventId; HashMap<Integer, List<Integer>> edges = new HashMap<Integer, List<Integer>>(); public SubeventStructure(int eid) { eventId = eid; } } }