test_class.declarator: scheduler = new Scheduler("test-scheduler")
test_class.modifier: private final
test_class.original_string: private final Scheduler scheduler = new Scheduler("test-scheduler");
test_class.type: Scheduler
test_class.var_name: scheduler
test_class.file: oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/SchedulerTest.java
test_class.identifier: SchedulerTest
test_case.body: @Test
      public void execute() throws Exception {
          TestTask task = new TestTask(1);
          scheduler.execute("execute", task);
  
          assertTrue(task.await());
          assertEquals("execute", task.getThreadName());
      }
test_case.class_method_signature: SchedulerTest.execute()
test_case.full_signature: @Test public void execute()
test_case.identifier: execute
test_case.invocations: execute assertTrue await assertEquals getThreadName
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void execute()
focal_class.declarator: schedulerNumber = 0
focal_class.modifier: private static
focal_class.original_string: private static int schedulerNumber = 0;
focal_class.type: int
focal_class.var_name: schedulerNumber
focal_class.declarator: LOG = LoggerFactory.getLogger(Scheduler.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOG = LoggerFactory.getLogger(Scheduler.class);
focal_class.type: Logger
focal_class.var_name: LOG
focal_class.declarator: executionCounter = new AtomicLong()
focal_class.modifier: @NotNull
      private final
focal_class.original_string: @NotNull
      private final AtomicLong executionCounter = new AtomicLong();
focal_class.type: AtomicLong
focal_class.var_name: executionCounter
focal_class.declarator: name
focal_class.modifier: @NotNull
      private final
focal_class.original_string: @NotNull
      private final String name;
focal_class.type: String
focal_class.var_name: name
focal_class.declarator: executor
focal_class.modifier: @NotNull
      private final
focal_class.original_string: @NotNull
      private final ScheduledExecutorService executor;
focal_class.type: ScheduledExecutorService
focal_class.var_name: executor
focal_class.file: oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/Scheduler.java
focal_class.identifier: Scheduler
focal_class.interfaces: implements Closeable
focal_class.class_method_signature: Scheduler.Scheduler(@Nullable String name)
focal_class.full_signature: public  Scheduler(@Nullable String name)
focal_class.identifier: Scheduler
focal_class.modifiers: public
focal_class.parameters: (@Nullable String name)
focal_class.signature:  Scheduler(@Nullable String name)
focal_class.class_method_signature: Scheduler.execute(@NotNull String name, @NotNull Runnable task)
focal_class.full_signature: public void execute(@NotNull String name, @NotNull Runnable task)
focal_class.identifier: execute
focal_class.modifiers: public
focal_class.parameters: (@NotNull String name, @NotNull Runnable task)
focal_class.return: void
focal_class.signature: void execute(@NotNull String name, @NotNull Runnable task)
focal_class.class_method_signature: Scheduler.scheduleOnce(
              @NotNull String name,
              long delay,
              @NotNull TimeUnit unit,
              @NotNull Runnable task)
focal_class.full_signature: public void scheduleOnce(
              @NotNull String name,
              long delay,
              @NotNull TimeUnit unit,
              @NotNull Runnable task)
focal_class.identifier: scheduleOnce
focal_class.modifiers: public
focal_class.parameters: (
              @NotNull String name,
              long delay,
              @NotNull TimeUnit unit,
              @NotNull Runnable task)
focal_class.return: void
focal_class.signature: void scheduleOnce(
              @NotNull String name,
              long delay,
              @NotNull TimeUnit unit,
              @NotNull Runnable task)
focal_class.class_method_signature: Scheduler.scheduleAtFixedRate(
              @NotNull String name,
              long period,
              @NotNull TimeUnit unit,
              @NotNull Runnable task)
focal_class.full_signature: public void scheduleAtFixedRate(
              @NotNull String name,
              long period,
              @NotNull TimeUnit unit,
              @NotNull Runnable task)
focal_class.identifier: scheduleAtFixedRate
focal_class.modifiers: public
focal_class.parameters: (
              @NotNull String name,
              long period,
              @NotNull TimeUnit unit,
              @NotNull Runnable task)
focal_class.return: void
focal_class.signature: void scheduleAtFixedRate(
              @NotNull String name,
              long period,
              @NotNull TimeUnit unit,
              @NotNull Runnable task)
focal_class.class_method_signature: Scheduler.scheduleWithFixedDelay(
              @NotNull String name,
              long delay,
              @NotNull TimeUnit unit,
              @NotNull Runnable task)
focal_class.full_signature: public void scheduleWithFixedDelay(
              @NotNull String name,
              long delay,
              @NotNull TimeUnit unit,
              @NotNull Runnable task)
focal_class.identifier: scheduleWithFixedDelay
focal_class.modifiers: public
focal_class.parameters: (
              @NotNull String name,
              long delay,
              @NotNull TimeUnit unit,
              @NotNull Runnable task)
focal_class.return: void
focal_class.signature: void scheduleWithFixedDelay(
              @NotNull String name,
              long delay,
              @NotNull TimeUnit unit,
              @NotNull Runnable task)
focal_class.class_method_signature: Scheduler.close()
focal_class.full_signature: @Override public void close()
focal_class.identifier: close
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void close()
focal_method.body: public void execute(@NotNull String name, @NotNull Runnable task) {
          executor.execute(new SafeRunnable(name, task));
      }
focal_method.class_method_signature: Scheduler.execute(@NotNull String name, @NotNull Runnable task)
focal_method.full_signature: public void execute(@NotNull String name, @NotNull Runnable task)
focal_method.identifier: execute
focal_method.invocations: execute
focal_method.modifiers: public
focal_method.parameters: (@NotNull String name, @NotNull Runnable task)
focal_method.return: void
focal_method.signature: void execute(@NotNull String name, @NotNull Runnable task)