test_class.declarator: MAX_FILE_SIZE = 512 * 1024
test_class.modifier: public static final
test_class.original_string: public static final int MAX_FILE_SIZE = 512 * 1024;
test_class.type: int
test_class.var_name: MAX_FILE_SIZE
test_class.declarator: random = new Random()
test_class.modifier: private static final
test_class.original_string: private static final Random random = new Random();
test_class.type: Random
test_class.var_name: random
test_class.declarator: folder = new TemporaryFolder(new File("target"))
test_class.modifier: @Rule
      public
test_class.original_string: @Rule
      public TemporaryFolder folder = new TemporaryFolder(new File("target"));
test_class.type: TemporaryFolder
test_class.var_name: folder
test_class.declarator: tarFiles
test_class.modifier: protected
test_class.original_string: protected TarFiles tarFiles;
test_class.type: TarFiles
test_class.var_name: tarFiles
test_class.file: oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/TarFilesTest.java
test_class.identifier: TarFilesTest
test_case.body: @Test
      public void testInitialReaderCount() throws Exception {
          assertEquals(0, tarFiles.readerCount());
      }
test_case.class_method_signature: TarFilesTest.testInitialReaderCount()
test_case.full_signature: @Test public void testInitialReaderCount()
test_case.identifier: testInitialReaderCount
test_case.invocations: assertEquals readerCount
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testInitialReaderCount()
focal_class.declarator: log = LoggerFactory.getLogger(TarFiles.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory.getLogger(TarFiles.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: FILE_NAME_PATTERN = Pattern.compile("(data)((0|[1-9][0-9]*)[0-9]{4})([a-z])?.tar")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern FILE_NAME_PATTERN = Pattern.compile("(data)((0|[1-9][0-9]*)[0-9]{4})([a-z])?.tar");
focal_class.type: Pattern
focal_class.var_name: FILE_NAME_PATTERN
focal_class.declarator: maxFileSize
focal_class.modifier: private final
focal_class.original_string: private final long maxFileSize;
focal_class.type: long
focal_class.var_name: maxFileSize
focal_class.declarator: archiveManager
focal_class.modifier: private
focal_class.original_string: private SegmentArchiveManager archiveManager;
focal_class.type: SegmentArchiveManager
focal_class.var_name: archiveManager
focal_class.declarator: lock = new ReentrantReadWriteLock()
focal_class.modifier: private final
focal_class.original_string: private final ReadWriteLock lock = new ReentrantReadWriteLock();
focal_class.type: ReadWriteLock
focal_class.var_name: lock
focal_class.declarator: readers
focal_class.modifier: private
focal_class.original_string: private Node readers;
focal_class.type: Node
focal_class.var_name: readers
focal_class.declarator: writer
focal_class.modifier: private
focal_class.original_string: private TarWriter writer;
focal_class.type: TarWriter
focal_class.var_name: writer
focal_class.declarator: shutdown
focal_class.modifier: private volatile
focal_class.original_string: private volatile boolean shutdown;
focal_class.type: boolean
focal_class.var_name: shutdown
focal_class.declarator: readerCount
focal_class.modifier: private final
focal_class.original_string: private final CounterStats readerCount;
focal_class.type: CounterStats
focal_class.var_name: readerCount
focal_class.declarator: segmentCount
focal_class.modifier: private final
focal_class.original_string: private final CounterStats segmentCount;
focal_class.type: CounterStats
focal_class.var_name: segmentCount
focal_class.file: oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/TarFiles.java
focal_class.identifier: TarFiles
focal_class.interfaces: implements Closeable
focal_class.class_method_signature: TarFiles.reverse(Node n)
focal_class.full_signature: private static Node reverse(Node n)
focal_class.identifier: reverse
focal_class.modifiers: private static
focal_class.parameters: (Node n)
focal_class.return: Node
focal_class.signature: Node reverse(Node n)
focal_class.class_method_signature: TarFiles.iterable(final Node head)
focal_class.full_signature: private static Iterable<TarReader> iterable(final Node head)
focal_class.identifier: iterable
focal_class.modifiers: private static
focal_class.parameters: (final Node head)
focal_class.return: Iterable<TarReader>
focal_class.signature: Iterable<TarReader> iterable(final Node head)
focal_class.class_method_signature: TarFiles.collectFiles(SegmentArchiveManager archiveManager)
focal_class.full_signature: private static Map<Integer, Map<Character, String>> collectFiles(SegmentArchiveManager archiveManager)
focal_class.identifier: collectFiles
focal_class.modifiers: private static
focal_class.parameters: (SegmentArchiveManager archiveManager)
focal_class.return: Map<Integer, Map<Character, String>>
focal_class.signature: Map<Integer, Map<Character, String>> collectFiles(SegmentArchiveManager archiveManager)
focal_class.class_method_signature: TarFiles.builder()
focal_class.full_signature: public static Builder builder()
focal_class.identifier: builder
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: Builder
focal_class.signature: Builder builder()
focal_class.class_method_signature: TarFiles.getSegmentCount(TarReader reader)
focal_class.full_signature: private static int getSegmentCount(TarReader reader)
focal_class.identifier: getSegmentCount
focal_class.modifiers: private static
focal_class.parameters: (TarReader reader)
focal_class.return: int
focal_class.signature: int getSegmentCount(TarReader reader)
focal_class.class_method_signature: TarFiles.TarFiles(Builder builder)
focal_class.full_signature: private  TarFiles(Builder builder)
focal_class.identifier: TarFiles
focal_class.modifiers: private
focal_class.parameters: (Builder builder)
focal_class.signature:  TarFiles(Builder builder)
focal_class.class_method_signature: TarFiles.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_class.class_method_signature: TarFiles.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: TarFiles.size()
focal_class.full_signature: public long size()
focal_class.identifier: size
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long size()
focal_class.class_method_signature: TarFiles.getSize(Node head)
focal_class.full_signature: private static int getSize(Node head)
focal_class.identifier: getSize
focal_class.modifiers: private static
focal_class.parameters: (Node head)
focal_class.return: int
focal_class.signature: int getSize(Node head)
focal_class.class_method_signature: TarFiles.readerCount()
focal_class.full_signature: public int readerCount()
focal_class.identifier: readerCount
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int readerCount()
focal_class.class_method_signature: TarFiles.segmentCount()
focal_class.full_signature: public int segmentCount()
focal_class.identifier: segmentCount
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int segmentCount()
focal_class.class_method_signature: TarFiles.flush()
focal_class.full_signature: public void flush()
focal_class.identifier: flush
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void flush()
focal_class.class_method_signature: TarFiles.containsSegment(long msb, long lsb)
focal_class.full_signature: public boolean containsSegment(long msb, long lsb)
focal_class.identifier: containsSegment
focal_class.modifiers: public
focal_class.parameters: (long msb, long lsb)
focal_class.return: boolean
focal_class.signature: boolean containsSegment(long msb, long lsb)
focal_class.class_method_signature: TarFiles.readSegment(long msb, long lsb)
focal_class.full_signature: public Buffer readSegment(long msb, long lsb)
focal_class.identifier: readSegment
focal_class.modifiers: public
focal_class.parameters: (long msb, long lsb)
focal_class.return: Buffer
focal_class.signature: Buffer readSegment(long msb, long lsb)
focal_class.class_method_signature: TarFiles.writeSegment(UUID id, byte[] buffer, int offset, int length, GCGeneration generation, Set<UUID> references, Set<String> binaryReferences)
focal_class.full_signature: public void writeSegment(UUID id, byte[] buffer, int offset, int length, GCGeneration generation, Set<UUID> references, Set<String> binaryReferences)
focal_class.identifier: writeSegment
focal_class.modifiers: public
focal_class.parameters: (UUID id, byte[] buffer, int offset, int length, GCGeneration generation, Set<UUID> references, Set<String> binaryReferences)
focal_class.return: void
focal_class.signature: void writeSegment(UUID id, byte[] buffer, int offset, int length, GCGeneration generation, Set<UUID> references, Set<String> binaryReferences)
focal_class.class_method_signature: TarFiles.internalNewWriter()
focal_class.full_signature: private void internalNewWriter()
focal_class.identifier: internalNewWriter
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void internalNewWriter()
focal_class.class_method_signature: TarFiles.newWriter()
focal_class.full_signature:  void newWriter()
focal_class.identifier: newWriter
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void newWriter()
focal_class.class_method_signature: TarFiles.cleanup(CleanupContext context)
focal_class.full_signature: public CleanupResult cleanup(CleanupContext context)
focal_class.identifier: cleanup
focal_class.modifiers: public
focal_class.parameters: (CleanupContext context)
focal_class.return: CleanupResult
focal_class.signature: CleanupResult cleanup(CleanupContext context)
focal_class.class_method_signature: TarFiles.getSegmentCount(Node head)
focal_class.full_signature: private static int getSegmentCount(Node head)
focal_class.identifier: getSegmentCount
focal_class.modifiers: private static
focal_class.parameters: (Node head)
focal_class.return: int
focal_class.signature: int getSegmentCount(Node head)
focal_class.class_method_signature: TarFiles.collectBlobReferences(Consumer<String> collector, Predicate<GCGeneration> reclaim)
focal_class.full_signature: public void collectBlobReferences(Consumer<String> collector, Predicate<GCGeneration> reclaim)
focal_class.identifier: collectBlobReferences
focal_class.modifiers: public
focal_class.parameters: (Consumer<String> collector, Predicate<GCGeneration> reclaim)
focal_class.return: void
focal_class.signature: void collectBlobReferences(Consumer<String> collector, Predicate<GCGeneration> reclaim)
focal_class.class_method_signature: TarFiles.getSegmentIds()
focal_class.full_signature: public Iterable<UUID> getSegmentIds()
focal_class.identifier: getSegmentIds
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Iterable<UUID>
focal_class.signature: Iterable<UUID> getSegmentIds()
focal_class.class_method_signature: TarFiles.getGraph(String fileName)
focal_class.full_signature: public Map<UUID, Set<UUID>> getGraph(String fileName)
focal_class.identifier: getGraph
focal_class.modifiers: public
focal_class.parameters: (String fileName)
focal_class.return: Map<UUID, Set<UUID>>
focal_class.signature: Map<UUID, Set<UUID>> getGraph(String fileName)
focal_class.class_method_signature: TarFiles.getIndices()
focal_class.full_signature: public Map<String, Set<UUID>> getIndices()
focal_class.identifier: getIndices
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Map<String, Set<UUID>>
focal_class.signature: Map<String, Set<UUID>> getIndices()
focal_class.class_method_signature: TarFiles.createFileReaper()
focal_class.full_signature: public FileReaper createFileReaper()
focal_class.identifier: createFileReaper
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: FileReaper
focal_class.signature: FileReaper createFileReaper()
focal_method.body: public int readerCount() {
          Node head;
  
          lock.readLock().lock();
          try {
              head = readers;
          } finally {
              lock.readLock().unlock();
          }
  
          return getSize(head);
      }
focal_method.class_method_signature: TarFiles.readerCount()
focal_method.full_signature: public int readerCount()
focal_method.identifier: readerCount
focal_method.invocations: lock readLock unlock readLock getSize
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: int
focal_method.signature: int readerCount()