package hu.bme.mit.incquery.cep.api.evm;
import org.eclipse.incquery.runtime.evm.api.RuleInstance;
import org.eclipse.incquery.runtime.evm.api.event.Event;
import org.eclipse.incquery.runtime.evm.api.event.EventFilter;
import org.eclipse.incquery.runtime.evm.api.event.EventHandler;
import org.eclipse.incquery.runtime.evm.api.event.EventSource;
public class CepEventHandler implements EventHandler<IObservableComplexEventPattern> {
private EmptyEventFilter emptyFilter;
private CepEventSource source;
private RuleInstance<IObservableComplexEventPattern> instance;
@Override
public void handleEvent(Event<IObservableComplexEventPattern> event) {
IObservableComplexEventPattern eventAtom = event.getEventAtom();
instance.activationStateTransition(instance.createActivation(eventAtom), CepEventType.APPEARED);
}
@Override
public EventSource<IObservableComplexEventPattern> getSource() {
return source;
}
@Override
public EventFilter<IObservableComplexEventPattern> getEventFilter() {
return emptyFilter;
}
@Override
public void dispose() {}
public CepEventHandler(CepEventSource source, RuleInstance<IObservableComplexEventPattern> instance) {
this.source = source;
this.emptyFilter = new EmptyEventFilter();
this.instance = instance;
}
}