package org.semanticsoft.vaaclipse.eventbroker;
import org.eclipse.e4.core.contexts.ContextFunction;
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
import org.eclipse.e4.core.contexts.IEclipseContext;
import org.eclipse.e4.core.services.events.IEventBroker;
import org.eclipse.e4.ui.services.internal.events.EventBroker;
@SuppressWarnings({ "restriction" })
public class SeparatedEventBrokerFactory extends ContextFunction {
public SeparatedEventBrokerFactory()
{
//System.out.println("separated event broker factory start");
}
@Override
public Object compute(IEclipseContext context) {
SeparatedEventBroker broker = context.getLocal(SeparatedEventBroker.class);
if (broker == null) {
broker = ContextInjectionFactory.make(SeparatedEventBroker.class, context);
context.set(SeparatedEventBroker.class, broker);
context.set(EventBroker.class, broker);
context.set(IEventBroker.class, broker);
}
return broker;
}
}