package org.reldb.dbrowser.hooks;
import java.util.ArrayList;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.reldb.dbrowser.DBrowser;
public class OpenDocumentEventProcessor implements Listener {
private ArrayList<String> filesToOpen = new ArrayList<String>(1);
private boolean retrieved = false;
public synchronized void handleEvent(Event event) {
if (event.text != null)
if (retrieved)
DBrowser.openFile(event.text);
else
filesToOpen.add(event.text);
}
public synchronized String[] retrieveFilesToOpen() {
try {
return filesToOpen.toArray(new String[filesToOpen.size()]);
} finally {
filesToOpen.clear();
retrieved = true;
}
}
public synchronized void addFilesToOpen(String[] fileNames) {
for (String argument: fileNames)
filesToOpen.add(argument);
}
}