test_class.declarator: log = Logger.getLogger(RecorderControllerTest.class.getName())
test_class.modifier: private static final
test_class.original_string: private static final Logger log = Logger.getLogger(RecorderControllerTest.class.getName());
test_class.type: Logger
test_class.var_name: log
test_class.declarator: ntInstance
test_class.modifier: private
test_class.original_string: private NetworkTableInstance ntInstance;
test_class.type: NetworkTableInstance
test_class.var_name: ntInstance
test_class.declarator: recorder
test_class.modifier: private
test_class.original_string: private Recorder recorder;
test_class.type: Recorder
test_class.var_name: recorder
test_class.declarator: controller
test_class.modifier: private
test_class.original_string: private RecorderController controller;
test_class.type: RecorderController
test_class.var_name: controller
test_class.file: plugins/networktables/src/test/java/edu/wpi/first/shuffleboard/plugin/networktables/RecorderControllerTest.java
test_class.identifier: RecorderControllerTest
test_case.body: @Test
    public void testDoNothingIfInPlayBack() {
      controller.start();
      DashboardMode.setCurrentMode(DashboardMode.PLAYBACK);
      ntInstance.getEntry(RecorderController.DEFAULT_START_STOP_KEY).setBoolean(true);
      ntInstance.waitForEntryListenerQueue(-1);
      assertFalse(recorder.isRunning(), "Recorder should not have been started");
    }
test_case.class_method_signature: RecorderControllerTest.testDoNothingIfInPlayBack()
test_case.full_signature: @Test public void testDoNothingIfInPlayBack()
test_case.identifier: testDoNothingIfInPlayBack
test_case.invocations: start setCurrentMode setBoolean getEntry waitForEntryListenerQueue assertFalse isRunning
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testDoNothingIfInPlayBack()
focal_class.declarator: DEFAULT_RECORDING_ROOT_TABLE = "/Shuffleboard/.recording"
focal_class.modifier: public static final
focal_class.original_string: public static final String DEFAULT_RECORDING_ROOT_TABLE = "/Shuffleboard/.recording";
focal_class.type: String
focal_class.var_name: DEFAULT_RECORDING_ROOT_TABLE
focal_class.declarator: DEFAULT_START_STOP_KEY = DEFAULT_RECORDING_ROOT_TABLE + "/RecordData"
focal_class.modifier: public static final
focal_class.original_string: public static final String DEFAULT_START_STOP_KEY = DEFAULT_RECORDING_ROOT_TABLE + "/RecordData";
focal_class.type: String
focal_class.var_name: DEFAULT_START_STOP_KEY
focal_class.declarator: DEFAULT_FILE_NAME_FORMAT_KEY = DEFAULT_RECORDING_ROOT_TABLE + "/FileNameFormat"
focal_class.modifier: public static final
focal_class.original_string: public static final String DEFAULT_FILE_NAME_FORMAT_KEY = DEFAULT_RECORDING_ROOT_TABLE + "/FileNameFormat";
focal_class.type: String
focal_class.var_name: DEFAULT_FILE_NAME_FORMAT_KEY
focal_class.declarator: startStopControlEntry
focal_class.modifier: private final
focal_class.original_string: private final NetworkTableEntry startStopControlEntry;
focal_class.type: NetworkTableEntry
focal_class.var_name: startStopControlEntry
focal_class.declarator: fileNameFormatEntry
focal_class.modifier: private final
focal_class.original_string: private final NetworkTableEntry fileNameFormatEntry;
focal_class.type: NetworkTableEntry
focal_class.var_name: fileNameFormatEntry
focal_class.declarator: recorder
focal_class.modifier: private final
focal_class.original_string: private final Recorder recorder;
focal_class.type: Recorder
focal_class.var_name: recorder
focal_class.declarator: markerGenerator
focal_class.modifier: private final
focal_class.original_string: private final MarkerGenerator markerGenerator;
focal_class.type: MarkerGenerator
focal_class.var_name: markerGenerator
focal_class.declarator: updateFlags =
        EntryListenerFlags.kImmediate
            | EntryListenerFlags.kLocal
            | EntryListenerFlags.kNew
            | EntryListenerFlags.kDelete
            | EntryListenerFlags.kUpdate
focal_class.modifier: private static final
focal_class.original_string: private static final int updateFlags =
        EntryListenerFlags.kImmediate
            | EntryListenerFlags.kLocal
            | EntryListenerFlags.kNew
            | EntryListenerFlags.kDelete
            | EntryListenerFlags.kUpdate;
focal_class.type: int
focal_class.var_name: updateFlags
focal_class.declarator: listenerHandle = 0
focal_class.modifier: private
focal_class.original_string: private int listenerHandle = 0;
focal_class.type: int
focal_class.var_name: listenerHandle
focal_class.declarator: lastControlEntryFlags = -1
focal_class.modifier: private
focal_class.original_string: private int lastControlEntryFlags = -1;
focal_class.type: int
focal_class.var_name: lastControlEntryFlags
focal_class.file: plugins/networktables/src/main/java/edu/wpi/first/shuffleboard/plugin/networktables/RecorderController.java
focal_class.identifier: RecorderController
focal_class.class_method_signature: RecorderController.createWithDefaultEntries(NetworkTableInstance ntInstance)
focal_class.full_signature: public static RecorderController createWithDefaultEntries(NetworkTableInstance ntInstance)
focal_class.identifier: createWithDefaultEntries
focal_class.modifiers: public static
focal_class.parameters: (NetworkTableInstance ntInstance)
focal_class.return: RecorderController
focal_class.signature: RecorderController createWithDefaultEntries(NetworkTableInstance ntInstance)
focal_class.class_method_signature: RecorderController.RecorderController(NetworkTableInstance ntInstance,
                              String startStopKey,
                              String fileNameFormatKey,
                              Recorder recorder)
focal_class.full_signature: public  RecorderController(NetworkTableInstance ntInstance,
                              String startStopKey,
                              String fileNameFormatKey,
                              Recorder recorder)
focal_class.identifier: RecorderController
focal_class.modifiers: public
focal_class.parameters: (NetworkTableInstance ntInstance,
                              String startStopKey,
                              String fileNameFormatKey,
                              Recorder recorder)
focal_class.signature:  RecorderController(NetworkTableInstance ntInstance,
                              String startStopKey,
                              String fileNameFormatKey,
                              Recorder recorder)
focal_class.class_method_signature: RecorderController.start()
focal_class.full_signature: public void start()
focal_class.identifier: start
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void start()
focal_class.class_method_signature: RecorderController.stop()
focal_class.full_signature: public void stop()
focal_class.identifier: stop
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void stop()
focal_class.class_method_signature: RecorderController.updateControl(EntryNotification event)
focal_class.full_signature: private void updateControl(EntryNotification event)
focal_class.identifier: updateControl
focal_class.modifiers: private
focal_class.parameters: (EntryNotification event)
focal_class.return: void
focal_class.signature: void updateControl(EntryNotification event)
focal_method.body: public void start() {
      listenerHandle = startStopControlEntry.addListener(this::updateControl, updateFlags);
      markerGenerator.start();
    }
focal_method.class_method_signature: RecorderController.start()
focal_method.full_signature: public void start()
focal_method.identifier: start
focal_method.invocations: addListener start
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void start()