public void Observe(StatementLifecycleEvent theEvent) { if (theEvent.EventType == StatementLifecycleEvent.LifecycleEventType.CREATE) { IEnumerator <EPStatementStateListener> it = _statementListeners.GetEnumerator(); for (; it.MoveNext();) { try { it.Current.OnStatementCreate(_serviceProvider, theEvent.Statement); } catch (Exception ex) { Log.Error("Caught runtime exception in onStatementCreate callback:" + ex.Message, ex); } } } else if (theEvent.EventType == StatementLifecycleEvent.LifecycleEventType.STATECHANGE) { IEnumerator <EPStatementStateListener> it = _statementListeners.GetEnumerator(); for (; it.MoveNext();) { try { it.Current.OnStatementStateChange(_serviceProvider, theEvent.Statement); } catch (Exception ex) { Log.Error("Caught runtime exception in onStatementCreate callback:" + ex.Message, ex); } } } }
/// <summary> /// Raises the <see cref="StatementStateChange"/> event. /// </summary> /// <param name="e">The <see cref="StatementLifecycleEvent"/> instance containing the event data.</param> protected virtual void OnStatementStateChanged(StatementLifecycleEvent e) { if (StatementStateChange != null) { StatementStateChange(this, new StatementStateEventArgs(this, e.Statement)); } }
/// <summary> /// Handles the lifecycle event. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="StatementLifecycleEvent"/> instance containing the event data.</param> private void HandleLifecycleEvent(object sender, StatementLifecycleEvent e) { switch (e.EventType) { case StatementLifecycleEvent.LifecycleEventType.CREATE: OnStatementCreate(new StatementStateEventArgs(this, e.Statement)); break; case StatementLifecycleEvent.LifecycleEventType.STATECHANGE: OnStatementStateChanged(e); break; } }