package org.reuseware.air.util;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.emf.ecore.EObject;
public class FragmentFileMap {
private Map<EObject, Integer> start = new HashMap<EObject, Integer>();
private Map<EObject, Integer> stop = new HashMap<EObject, Integer>();
private Map<EObject, String> file = new HashMap<EObject, String>();
private static FragmentFileMap ffMap = null;
private FragmentFileMap(){
}
public static FragmentFileMap get() {
if (ffMap == null) {
ffMap = new FragmentFileMap();
}
return ffMap;
}
public void clean() {
file.clear();
start.clear();
stop.clear();
}
public int getStart(EObject fragment) {
if (!start.containsKey(fragment)) return 0;
return start.get(fragment);
}
public void setStart(EObject fragment, int pos) {
if (fragment == null) return;
if (start.get(fragment) == null ) {
start.put(fragment, pos);
}
}
public int getStop(EObject fragment) {
if (!stop.containsKey(fragment)) return 0;
return stop.get(fragment);
}
public void setStop(EObject fragment, int pos) {
if (fragment == null) return;
stop.put(fragment, pos);
}
public String getFile(EObject fragment) {
return file.get(fragment);
}
public void setFile(EObject fragment, String name) {
if (fragment == null) return;
file.put(fragment, name);
}
public void clear() {
start.clear();
stop.clear();
file.clear();
}
}