test_class.declarator: store
test_class.original_string: DocumentNodeStore store;
test_class.type: DocumentNodeStore
test_class.var_name: store
test_class.file: oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/LocalDiffCacheTest.java
test_class.identifier: LocalDiffCacheTest
test_case.body: @Test
      public void diffFromAsString() {
          Map<Path, String> changes = Maps.newHashMap();
          changes.put(Path.ROOT, "+\"foo\":{}^\"bar\":{}-\"baz\"");
          changes.put(Path.fromString("/foo"), "");
          changes.put(Path.fromString("/bar"), "+\"qux\"");
          changes.put(Path.fromString("/bar/qux"), "");
          Diff diff = new Diff(changes, 0);
  
          assertEquals(changes, Diff.fromString(diff.asString()).getChanges());
      }
test_case.class_method_signature: LocalDiffCacheTest.diffFromAsString()
test_case.full_signature: @Test public void diffFromAsString()
test_case.identifier: diffFromAsString
test_case.invocations: newHashMap put put fromString put fromString put fromString assertEquals getChanges fromString asString
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void diffFromAsString()
focal_class.declarator: LOG = LoggerFactory.getLogger(LocalDiffCache.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOG = LoggerFactory.getLogger(LocalDiffCache.class);
focal_class.type: Logger
focal_class.var_name: LOG
focal_class.declarator: MAX_ENTRY_SIZE = 16 * 1024 * 1024
focal_class.modifier: private static
focal_class.original_string: private static int MAX_ENTRY_SIZE = 16 * 1024 * 1024;
focal_class.type: int
focal_class.var_name: MAX_ENTRY_SIZE
focal_class.declarator: diffCache
focal_class.modifier: private final
focal_class.original_string: private final Cache<RevisionsKey, Diff> diffCache;
focal_class.type: Cache<RevisionsKey, Diff>
focal_class.var_name: diffCache
focal_class.declarator: diffCacheStats
focal_class.modifier: private final
focal_class.original_string: private final CacheStats diffCacheStats;
focal_class.type: CacheStats
focal_class.var_name: diffCacheStats
focal_class.file: oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/LocalDiffCache.java
focal_class.identifier: LocalDiffCache
focal_class.class_method_signature: LocalDiffCache.LocalDiffCache(DocumentNodeStoreBuilder<?> builder)
focal_class.full_signature:   LocalDiffCache(DocumentNodeStoreBuilder<?> builder)
focal_class.identifier: LocalDiffCache
focal_class.parameters: (DocumentNodeStoreBuilder<?> builder)
focal_class.signature:  LocalDiffCache(DocumentNodeStoreBuilder<?> builder)
focal_class.class_method_signature: LocalDiffCache.getChanges(@NotNull RevisionVector from,
                               @NotNull RevisionVector to,
                               @NotNull Path path,
                               @Nullable Loader loader)
focal_class.full_signature: @Override public String getChanges(@NotNull RevisionVector from,
                               @NotNull RevisionVector to,
                               @NotNull Path path,
                               @Nullable Loader loader)
focal_class.identifier: getChanges
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull RevisionVector from,
                               @NotNull RevisionVector to,
                               @NotNull Path path,
                               @Nullable Loader loader)
focal_class.return: String
focal_class.signature: String getChanges(@NotNull RevisionVector from,
                               @NotNull RevisionVector to,
                               @NotNull Path path,
                               @Nullable Loader loader)
focal_class.class_method_signature: LocalDiffCache.newEntry(final @NotNull RevisionVector from,
                            final @NotNull RevisionVector to,
                            boolean local /*ignored*/)
focal_class.full_signature: @NotNull @Override public Entry newEntry(final @NotNull RevisionVector from,
                            final @NotNull RevisionVector to,
                            boolean local /*ignored*/)
focal_class.identifier: newEntry
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (final @NotNull RevisionVector from,
                            final @NotNull RevisionVector to,
                            boolean local /*ignored*/)
focal_class.return: Entry
focal_class.signature: Entry newEntry(final @NotNull RevisionVector from,
                            final @NotNull RevisionVector to,
                            boolean local /*ignored*/)
focal_class.class_method_signature: LocalDiffCache.getStats()
focal_class.full_signature: @NotNull @Override public Iterable<CacheStats> getStats()
focal_class.identifier: getStats
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: ()
focal_class.return: Iterable<CacheStats>
focal_class.signature: Iterable<CacheStats> getStats()
focal_class.class_method_signature: LocalDiffCache.invalidateAll()
focal_class.full_signature: @Override public void invalidateAll()
focal_class.identifier: invalidateAll
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void invalidateAll()
focal_class.class_method_signature: LocalDiffCache.size(String s)
focal_class.full_signature: private static long size(String s)
focal_class.identifier: size
focal_class.modifiers: private static
focal_class.parameters: (String s)
focal_class.return: long
focal_class.signature: long size(String s)
focal_class.superclass: extends DiffCache
focal_method.body: @Override
      public String getChanges(@NotNull RevisionVector from,
                               @NotNull RevisionVector to,
                               @NotNull Path path,
                               @Nullable Loader loader) {
          RevisionsKey key = new RevisionsKey(from, to);
          Diff diff = diffCache.getIfPresent(key);
          if (diff != null) {
              String result = diff.get(path);
              return result != null ? result : "";
          }
          if (loader != null) {
              return loader.call();
          }
          return null;
      }
focal_method.class_method_signature: LocalDiffCache.getChanges(@NotNull RevisionVector from,
                               @NotNull RevisionVector to,
                               @NotNull Path path,
                               @Nullable Loader loader)
focal_method.full_signature: @Override public String getChanges(@NotNull RevisionVector from,
                               @NotNull RevisionVector to,
                               @NotNull Path path,
                               @Nullable Loader loader)
focal_method.identifier: getChanges
focal_method.invocations: getIfPresent get call
focal_method.modifiers: @Override public
focal_method.parameters: (@NotNull RevisionVector from,
                               @NotNull RevisionVector to,
                               @NotNull Path path,
                               @Nullable Loader loader)
focal_method.return: String
focal_method.signature: String getChanges(@NotNull RevisionVector from,
                               @NotNull RevisionVector to,
                               @NotNull Path path,
                               @Nullable Loader loader)