# Interface FlightRecorderListener

public interface FlightRecorderListener
Callback interface to monitor Flight Recorder's life cycle.

Since:
  9

## Method Summary

Modifier and Type
Method
Description
`default void`
`recorderInitialized(FlightRecorder recorder)`
Receives notification when Flight Recorder is initialized.
`default void`
`recordingStateChanged(Recording recording)`
Receives notification when the state of a recording changes.

## Method Details

### recorderInitialized

default void recorderInitialized(FlightRecorder recorder)
Receives notification when Flight Recorder is initialized.

This method is also be invoked when a listener is added to an already initialized Flight Recorder.

This method allows clients to implement their own initialization mechanism that is executed before a `FlightRecorder` instance is returned by `FlightRecorder.getFlightRecorder()`.

Implementation Requirements:
  The default implementation of this method is empty.
Implementation Note:
  This method should return as soon as possible, to avoid blocking initialization of Flight Recorder. To avoid deadlocks or unexpected behavior, this method should not call `FlightRecorder.getFlightRecorder()` or start new recordings.
Parameters:
  `recorder` - Flight Recorder instance, not `null`
See Also:
  - `FlightRecorder.addListener(FlightRecorderListener)`

### recordingStateChanged

default void recordingStateChanged(Recording recording)
Receives notification when the state of a recording changes.

Callback is invoked when a recording reaches the `RUNNING`, `STOPPED` and `CLOSED` state.

Implementation Requirements:
  The default implementation of this method is empty.
Implementation Note:
  The implementation of this method should return as soon as possible to avoid blocking normal operation of Flight Recorder.
Parameters:
  `recording` - the recording where the state change occurred, not `null`
See Also:
  - `FlightRecorder.addListener(FlightRecorderListener)`
  - `RecordingState`