## org.eclipse.amp.axf.core
Interface ILifeCycleListener

All Superinterfaces:
  IStateListener

All Known Implementing Classes:
  AbstractLifecycleListener, CloseHandler, DelayView, EditPartListener, ModelRunHandler, MonitorView, PauseHandler, RestartHandler, ResumeHandler, RunMonitorView, ScapeWrapperModelListener, StartHandler, StatusLineView, StepHandler, StopHandler, SWTAsyncModelListener, SWTThreadModelListener

    public interface ILifeCycleListener

extends IStateListener

An observer (listener) for any model component. For performance reasons, observers typically monitor the overall model, but they might also observe other model components such as sub-models or even individual agents.

Author:
  milesparker

Method Summary
`void` `observationEnd(IObservationProvider observed)` Notifies that the model is no longer providing observations.
`void` `observationEnding(IObservationProvider observed)` Notifies that the model is about to be closed.
`void` `observeCreate(IObservationProvider observed)` Notifies that the model has been instantiated but has not yet been initialized.
`void` `observeInitialize(IObservationProvider observed)` Notifies that the model's initial state has been reached.
`void` `observeStart(IObservationProvider observed)` Notifies that the model is just starting execution.
`void` `observeStop(IObservationProvider observed)` Notifies that the model has stopped execution.
`void` `observeUpdate(IObservationProvider observed)` Notifies that the model has completed one period of execution at the appropriate level of granularity.
`void` `observing(IObservationProvider observed)` Notifies that the model is now aware of this observer.

Methods inherited from interface org.eclipse.amp.axf.core.IStateListener
`stateChange`

Method Detail

### observing

    void observing(IObservationProvider observed)

  Notifies that the model is now aware of this observer. Note that models may defer addition of listeners so a listener adding itself to a model should not assume that it has actually been added until this notification has occurred.

  Parameters:
    `observed` - the observed

### observeCreate

    void observeCreate(IObservationProvider observed)

  Notifies that the model has been instantiated but has not yet been initialized. At this point it is appropriate to update settings and parameterizations.

  Parameters:
    `observed` - the model event

### observeInitialize

    void observeInitialize(IObservationProvider observed)

  Notifies that the model's initial state has been reached.

  Parameters:
    `observed` - the observed

### observeStart

    void observeStart(IObservationProvider observed)

  Notifies that the model is just starting execution.

  Parameters:
    `observed` - the model event

### observeUpdate

    void observeUpdate(IObservationProvider observed)

  Notifies that the model has completed one period of execution at the appropriate level of granularity. Currently this is always once every period but that will change when more control of update granularity is introduced.

  Parameters:
    `observed` - the model event

### observeStop

    void observeStop(IObservationProvider observed)

  Notifies that the model has stopped execution. This does not imply that the model is dead, simply that it will no longer be executing within the context of the life-cycle. In particular, a model may be re-initialized and re-started.

  Parameters:
    `observed` - the model event

### observationEnding

    void observationEnding(IObservationProvider observed)

  Notifies that the model is about to be closed. The model should still be available for observation at this point.

  Parameters:
    `observed` - the model event

### observationEnd

    void observationEnd(IObservationProvider observed)

  Notifies that the model is no longer providing observations. Typically it has been disposed at this point.

  Parameters:
    `observed` - the model removed event
  See Also:
    `modelAdded`