package hu.bme.mit.incquery.cep.api.eventprocessingstrategy; import hu.bme.mit.incquery.cep.api.evm.IObservableComplexEventPattern; import hu.bme.mit.incquery.cep.metamodels.cep.Event; import hu.bme.mit.incquery.cep.metamodels.internalsm.EventProcessingContext; import hu.bme.mit.incquery.cep.metamodels.internalsm.EventToken; import hu.bme.mit.incquery.cep.metamodels.internalsm.InternalExecutionModel; import hu.bme.mit.incquery.cep.metamodels.internalsm.InternalsmFactory; import hu.bme.mit.incquery.cep.metamodels.internalsm.Transition; public interface IEventProcessingStrategy { EventProcessingContext getContext(); void fireTransition(Transition t, EventToken et, Event e); void handleInitTokenCreation(InternalExecutionModel model, InternalsmFactory SM_FACTORY, IObservableComplexEventPattern observedComplexEventPattern); void handleSmResets(InternalExecutionModel model, InternalsmFactory SM_FACTORY); }