All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.stanford.smi.protege.event.ProjectEventDispatcher Maven / Gradle / Ivy

Go to download

Core code for the Protege ontology editor. Serves as the basis for the Protege-Frames and Protege-OWL editors.

There is a newer version: 3.5.1
Show newest version
package edu.stanford.smi.protege.event;

import java.util.Collection;
import java.util.Iterator;

import edu.stanford.smi.protege.model.Project;
import edu.stanford.smi.protege.util.Assert;
import edu.stanford.smi.protege.util.EventDispatcher;
import edu.stanford.smi.protege.widget.ClsWidget;

/**
 * Dispatcher to send project events to their listeners. 
 *
 * @author    Ray Fergerson 
 */
public class ProjectEventDispatcher implements EventDispatcher {

    public void postEvent(Collection listeners, Object source, int type, Object arg1, Object arg2, Object arg3) {
        ProjectEvent event = new ProjectEvent((Project) source, type, (ClsWidget) arg1);
        Iterator i = listeners.iterator();
        while (i.hasNext()) {
            ProjectListener listener = (ProjectListener) i.next();
            switch (type) {
                case ProjectEvent.PROJECT_CLOSED:
                    listener.projectClosed(event);
                    break;
                case ProjectEvent.PROJECT_SAVED:
                    listener.projectSaved(event);
                    break;
                case ProjectEvent.FORM_CHANGED:
                    listener.formChanged(event);
                    break;
                case ProjectEvent.RUNTIME_CLS_WIDGET_CREATED:
                    listener.runtimeClsWidgetCreated(event);
                    break;
                case ProjectEvent.SERVER_SESSION_LOST:
                	listener.serverSessionLost(event);
                	break;
                default:
                    Assert.fail("bad type: " + type);
                    break;
            }
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy