test_class.file: oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/NodeDocumentTest.java
test_class.identifier: NodeDocumentTest
test_case.body: @Test
      public void getVisibleChangesWithOverlappingRanges() throws Exception {
          MemoryDocumentStore store = new MemoryDocumentStore();
          DocumentNodeStore ns = createTestStore(store, 1, 0);
          addNode(ns, "/test");
          setProperty(ns, "/test/p", 1);
          setProperty(ns, "/test/p", 2);
          setProperty(ns, "/test/p", 3);
          RevisionVector readRev = ns.getHeadRevision();
          setProperty(ns, "/test/q", 1);
          setProperty(ns, "/test/q", 2);
  
          String id = Utils.getIdFromPath("/test");
          NodeDocument doc = store.find(NODES, id);
          assertNotNull(doc);
          List<UpdateOp> splitOps = SplitOperations.forDocument(
                  doc, ns, ns.getHeadRevision(), NO_BINARY, 1);
          assertEquals(2, splitOps.size());
          store.createOrUpdate(NODES, splitOps);
  
          setProperty(ns, "/test/p", 4);
  
          doc = store.find(NODES, id);
          assertNotNull(doc);
          splitOps = SplitOperations.forDocument(
                  doc, ns, ns.getHeadRevision(), NO_BINARY, 1);
          assertEquals(2, splitOps.size());
          store.createOrUpdate(NODES, splitOps);
  
          doc = store.find(NODES, id);
          assertNotNull(doc);
          for (Map.Entry<Revision, String> change : doc.getVisibleChanges("p", readRev)) {
              assertFalse(readRev.isRevisionNewer(change.getKey()));
          }
      }
test_case.class_method_signature: NodeDocumentTest.getVisibleChangesWithOverlappingRanges()
test_case.full_signature: @Test public void getVisibleChangesWithOverlappingRanges()
test_case.identifier: getVisibleChangesWithOverlappingRanges
test_case.invocations: createTestStore addNode setProperty setProperty setProperty getHeadRevision setProperty setProperty getIdFromPath find assertNotNull forDocument getHeadRevision assertEquals size createOrUpdate setProperty find assertNotNull forDocument getHeadRevision assertEquals size createOrUpdate find assertNotNull getVisibleChanges assertFalse isRevisionNewer getKey
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void getVisibleChangesWithOverlappingRanges()
focal_class.declarator: NULL = new NodeDocument(new MemoryDocumentStore())
focal_class.modifier: public static final
focal_class.original_string: public static final NodeDocument NULL = new NodeDocument(new MemoryDocumentStore());
focal_class.type: NodeDocument
focal_class.var_name: NULL
focal_class.declarator: LOG = LoggerFactory.getLogger(NodeDocument.class)
focal_class.modifier: static final
focal_class.original_string: static final Logger LOG = LoggerFactory.getLogger(NodeDocument.class);
focal_class.type: Logger
focal_class.var_name: LOG
focal_class.declarator: MIN_ID_VALUE = "0000000"
focal_class.modifier: public static final
focal_class.original_string: public static final String MIN_ID_VALUE = "0000000";
focal_class.type: String
focal_class.var_name: MIN_ID_VALUE
focal_class.declarator: MAX_ID_VALUE = ";"
focal_class.modifier: public static final
focal_class.original_string: public static final String MAX_ID_VALUE = ";";
focal_class.type: String
focal_class.var_name: MAX_ID_VALUE
focal_class.declarator: SPLIT_CANDIDATE_THRESHOLD = 8 * 1024
focal_class.modifier: static final
focal_class.original_string: static final int SPLIT_CANDIDATE_THRESHOLD = 8 * 1024;
focal_class.type: int
focal_class.var_name: SPLIT_CANDIDATE_THRESHOLD
focal_class.declarator: DOC_SIZE_THRESHOLD = 1024 * 1024
focal_class.modifier: static final
focal_class.original_string: static final int DOC_SIZE_THRESHOLD = 1024 * 1024;
focal_class.type: int
focal_class.var_name: DOC_SIZE_THRESHOLD
focal_class.declarator: NUM_REVS_THRESHOLD = 100
focal_class.modifier: static final
focal_class.original_string: static final int NUM_REVS_THRESHOLD = 100;
focal_class.type: int
focal_class.var_name: NUM_REVS_THRESHOLD
focal_class.declarator: PREV_SPLIT_FACTOR = 10
focal_class.modifier: static final
focal_class.original_string: static final int PREV_SPLIT_FACTOR = 10;
focal_class.type: int
focal_class.var_name: PREV_SPLIT_FACTOR
focal_class.declarator: COLLISIONS = "_collisions"
focal_class.modifier: public static final
focal_class.original_string: public static final String COLLISIONS = "_collisions";
focal_class.type: String
focal_class.var_name: COLLISIONS
focal_class.declarator: MODIFIED_IN_SECS = "_modified"
focal_class.modifier: public static final
focal_class.original_string: public static final String MODIFIED_IN_SECS = "_modified";
focal_class.type: String
focal_class.var_name: MODIFIED_IN_SECS
focal_class.declarator: MODIFIED_IN_SECS_RESOLUTION = 5
focal_class.modifier: static final
focal_class.original_string: static final int MODIFIED_IN_SECS_RESOLUTION = 5;
focal_class.type: int
focal_class.var_name: MODIFIED_IN_SECS_RESOLUTION
focal_class.declarator: EMPTY_RANGE_MAP =
              Maps.unmodifiableNavigableMap(new TreeMap<Revision, Range>(REVERSE))
focal_class.modifier: private static final
focal_class.original_string: private static final NavigableMap<Revision, Range> EMPTY_RANGE_MAP =
              Maps.unmodifiableNavigableMap(new TreeMap<Revision, Range>(REVERSE));
focal_class.type: NavigableMap<Revision, Range>
focal_class.var_name: EMPTY_RANGE_MAP
focal_class.declarator: COMMIT_ROOT = "_commitRoot"
focal_class.modifier: static final
focal_class.original_string: static final String COMMIT_ROOT = "_commitRoot";
focal_class.type: String
focal_class.var_name: COMMIT_ROOT
focal_class.declarator: PREVIOUS = "_prev"
focal_class.modifier: private static final
focal_class.original_string: private static final String PREVIOUS = "_prev";
focal_class.type: String
focal_class.var_name: PREVIOUS
focal_class.declarator: DELETED = "_deleted"
focal_class.modifier: private static final
focal_class.original_string: private static final String DELETED = "_deleted";
focal_class.type: String
focal_class.var_name: DELETED
focal_class.declarator: DELETED_ONCE = "_deletedOnce"
focal_class.modifier: public static final
focal_class.original_string: public static final String DELETED_ONCE = "_deletedOnce";
focal_class.type: String
focal_class.var_name: DELETED_ONCE
focal_class.declarator: REVISIONS = "_revisions"
focal_class.modifier: static final
focal_class.original_string: static final String REVISIONS = "_revisions";
focal_class.type: String
focal_class.var_name: REVISIONS
focal_class.declarator: LAST_REV = "_lastRev"
focal_class.modifier: private static final
focal_class.original_string: private static final String LAST_REV = "_lastRev";
focal_class.type: String
focal_class.var_name: LAST_REV
focal_class.declarator: CHILDREN_FLAG = "_children"
focal_class.modifier: private static final
focal_class.original_string: private static final String CHILDREN_FLAG = "_children";
focal_class.type: String
focal_class.var_name: CHILDREN_FLAG
focal_class.declarator: PATH = "_path"
focal_class.modifier: public static final
focal_class.original_string: public static final String PATH = "_path";
focal_class.type: String
focal_class.var_name: PATH
focal_class.declarator: HAS_BINARY_FLAG = "_bin"
focal_class.modifier: public static final
focal_class.original_string: public static final String HAS_BINARY_FLAG = "_bin";
focal_class.type: String
focal_class.var_name: HAS_BINARY_FLAG
focal_class.declarator: STALE_PREV = "_stalePrev"
focal_class.modifier: private static final
focal_class.original_string: private static final String STALE_PREV = "_stalePrev";
focal_class.type: String
focal_class.var_name: STALE_PREV
focal_class.declarator: BRANCH_COMMITS = "_bc"
focal_class.modifier: private static final
focal_class.original_string: private static final String BRANCH_COMMITS = "_bc";
focal_class.type: String
focal_class.var_name: BRANCH_COMMITS
focal_class.declarator: SWEEP_REV = "_sweepRev"
focal_class.modifier: private static final
focal_class.original_string: private static final String SWEEP_REV = "_sweepRev";
focal_class.type: String
focal_class.var_name: SWEEP_REV
focal_class.declarator: SD_TYPE = "_sdType"
focal_class.modifier: public static final
focal_class.original_string: public static final String SD_TYPE = "_sdType";
focal_class.type: String
focal_class.var_name: SD_TYPE
focal_class.declarator: SD_MAX_REV_TIME_IN_SECS = "_sdMaxRevTime"
focal_class.modifier: public static final
focal_class.original_string: public static final String SD_MAX_REV_TIME_IN_SECS = "_sdMaxRevTime";
focal_class.type: String
focal_class.var_name: SD_MAX_REV_TIME_IN_SECS
focal_class.declarator: PREVIOUS_PREFIX = new Path("p")
focal_class.modifier: private static final
focal_class.original_string: private static final Path PREVIOUS_PREFIX = new Path("p");
focal_class.type: Path
focal_class.var_name: PREVIOUS_PREFIX
focal_class.declarator: HAS_BINARY_VAL = 1
focal_class.modifier: public static final
focal_class.original_string: public static final long HAS_BINARY_VAL = 1;
focal_class.type: long
focal_class.var_name: HAS_BINARY_VAL
focal_class.declarator: store
focal_class.modifier: final
focal_class.original_string: final DocumentStore store;
focal_class.type: DocumentStore
focal_class.var_name: store
focal_class.declarator: previous
focal_class.modifier: private
focal_class.original_string: private NavigableMap<Revision, Range> previous;
focal_class.type: NavigableMap<Revision, Range>
focal_class.var_name: previous
focal_class.declarator: lastCheckTime = new AtomicLong(Revision.getCurrentTimestamp())
focal_class.modifier: private final
focal_class.original_string: private final AtomicLong lastCheckTime = new AtomicLong(Revision.getCurrentTimestamp());
focal_class.type: AtomicLong
focal_class.var_name: lastCheckTime
focal_class.declarator: creationTime
focal_class.modifier: private final
focal_class.original_string: private final long creationTime;
focal_class.type: long
focal_class.var_name: creationTime
focal_class.file: oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/NodeDocument.java
focal_class.identifier: NodeDocument
focal_class.class_method_signature: NodeDocument.getModifiedInSecs(long timestamp)
focal_class.full_signature: public static long getModifiedInSecs(long timestamp)
focal_class.identifier: getModifiedInSecs
focal_class.modifiers: public static
focal_class.parameters: (long timestamp)
focal_class.return: long
focal_class.signature: long getModifiedInSecs(long timestamp)
focal_class.class_method_signature: NodeDocument.NodeDocument(@NotNull DocumentStore store)
focal_class.full_signature:   NodeDocument(@NotNull DocumentStore store)
focal_class.identifier: NodeDocument
focal_class.parameters: (@NotNull DocumentStore store)
focal_class.signature:  NodeDocument(@NotNull DocumentStore store)
focal_class.class_method_signature: NodeDocument.NodeDocument(@NotNull DocumentStore store, long creationTime)
focal_class.full_signature: public  NodeDocument(@NotNull DocumentStore store, long creationTime)
focal_class.identifier: NodeDocument
focal_class.modifiers: public
focal_class.parameters: (@NotNull DocumentStore store, long creationTime)
focal_class.signature:  NodeDocument(@NotNull DocumentStore store, long creationTime)
focal_class.class_method_signature: NodeDocument.getValueMap(@NotNull String key)
focal_class.full_signature: @NotNull public Map<Revision, String> getValueMap(@NotNull String key)
focal_class.identifier: getValueMap
focal_class.modifiers: @NotNull public
focal_class.parameters: (@NotNull String key)
focal_class.return: Map<Revision, String>
focal_class.signature: Map<Revision, String> getValueMap(@NotNull String key)
focal_class.class_method_signature: NodeDocument.getCreated()
focal_class.full_signature: public long getCreated()
focal_class.identifier: getCreated
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long getCreated()
focal_class.class_method_signature: NodeDocument.getModified()
focal_class.full_signature: @Nullable public Long getModified()
focal_class.identifier: getModified
focal_class.modifiers: @Nullable public
focal_class.parameters: ()
focal_class.return: Long
focal_class.signature: Long getModified()
focal_class.class_method_signature: NodeDocument.hasChildren()
focal_class.full_signature: public boolean hasChildren()
focal_class.identifier: hasChildren
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasChildren()
focal_class.class_method_signature: NodeDocument.wasDeletedOnce()
focal_class.full_signature: public boolean wasDeletedOnce()
focal_class.identifier: wasDeletedOnce
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean wasDeletedOnce()
focal_class.class_method_signature: NodeDocument.hasBeenModifiedSince(long lastModifiedTime)
focal_class.full_signature: public boolean hasBeenModifiedSince(long lastModifiedTime)
focal_class.identifier: hasBeenModifiedSince
focal_class.modifiers: public
focal_class.parameters: (long lastModifiedTime)
focal_class.return: boolean
focal_class.signature: boolean hasBeenModifiedSince(long lastModifiedTime)
focal_class.class_method_signature: NodeDocument.hasAllRevisionLessThan(long maxRevisionTime)
focal_class.full_signature: public boolean hasAllRevisionLessThan(long maxRevisionTime)
focal_class.identifier: hasAllRevisionLessThan
focal_class.modifiers: public
focal_class.parameters: (long maxRevisionTime)
focal_class.return: boolean
focal_class.signature: boolean hasAllRevisionLessThan(long maxRevisionTime)
focal_class.class_method_signature: NodeDocument.isSplitDocument()
focal_class.full_signature: public boolean isSplitDocument()
focal_class.identifier: isSplitDocument
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isSplitDocument()
focal_class.class_method_signature: NodeDocument.getSplitDocType()
focal_class.full_signature: public SplitDocType getSplitDocType()
focal_class.identifier: getSplitDocType
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: SplitDocType
focal_class.signature: SplitDocType getSplitDocType()
focal_class.class_method_signature: NodeDocument.markUpToDate(long checkTime)
focal_class.full_signature: public void markUpToDate(long checkTime)
focal_class.identifier: markUpToDate
focal_class.modifiers: public
focal_class.parameters: (long checkTime)
focal_class.return: void
focal_class.signature: void markUpToDate(long checkTime)
focal_class.class_method_signature: NodeDocument.getLastCheckTime()
focal_class.full_signature: public long getLastCheckTime()
focal_class.identifier: getLastCheckTime
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long getLastCheckTime()
focal_class.class_method_signature: NodeDocument.hasBinary()
focal_class.full_signature: public boolean hasBinary()
focal_class.identifier: hasBinary
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasBinary()
focal_class.class_method_signature: NodeDocument.getMainPath()
focal_class.full_signature: @NotNull public Path getMainPath()
focal_class.identifier: getMainPath
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: Path
focal_class.signature: Path getMainPath()
focal_class.class_method_signature: NodeDocument.getLastRev()
focal_class.full_signature: @NotNull public Map<Integer, Revision> getLastRev()
focal_class.identifier: getLastRev
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: Map<Integer, Revision>
focal_class.signature: Map<Integer, Revision> getLastRev()
focal_class.class_method_signature: NodeDocument.containsRevision(@NotNull Revision revision)
focal_class.full_signature: public boolean containsRevision(@NotNull Revision revision)
focal_class.identifier: containsRevision
focal_class.modifiers: public
focal_class.parameters: (@NotNull Revision revision)
focal_class.return: boolean
focal_class.signature: boolean containsRevision(@NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.purgeUncommittedRevisions(RevisionContext context)
focal_class.full_signature:  int purgeUncommittedRevisions(RevisionContext context)
focal_class.identifier: purgeUncommittedRevisions
focal_class.parameters: (RevisionContext context)
focal_class.return: int
focal_class.signature: int purgeUncommittedRevisions(RevisionContext context)
focal_class.class_method_signature: NodeDocument.purgeCollisionMarkers(RevisionContext context)
focal_class.full_signature:  int purgeCollisionMarkers(RevisionContext context)
focal_class.identifier: purgeCollisionMarkers
focal_class.parameters: (RevisionContext context)
focal_class.return: int
focal_class.signature: int purgeCollisionMarkers(RevisionContext context)
focal_class.class_method_signature: NodeDocument.getConflictsFor(@NotNull Iterable<Revision> changes)
focal_class.full_signature: @NotNull Set<Revision> getConflictsFor(@NotNull Iterable<Revision> changes)
focal_class.identifier: getConflictsFor
focal_class.modifiers: @NotNull
focal_class.parameters: (@NotNull Iterable<Revision> changes)
focal_class.return: Set<Revision>
focal_class.signature: Set<Revision> getConflictsFor(@NotNull Iterable<Revision> changes)
focal_class.class_method_signature: NodeDocument.getCommitRootPath(Revision revision)
focal_class.full_signature: @Nullable public Path getCommitRootPath(Revision revision)
focal_class.identifier: getCommitRootPath
focal_class.modifiers: @Nullable public
focal_class.parameters: (Revision revision)
focal_class.return: Path
focal_class.signature: Path getCommitRootPath(Revision revision)
focal_class.class_method_signature: NodeDocument.getNewestRevision(final RevisionContext context,
                                 final RevisionVector baseRev,
                                 final Revision changeRev,
                                 final Branch branch,
                                 final Set<Revision> collisions)
focal_class.full_signature: @Nullable Revision getNewestRevision(final RevisionContext context,
                                 final RevisionVector baseRev,
                                 final Revision changeRev,
                                 final Branch branch,
                                 final Set<Revision> collisions)
focal_class.identifier: getNewestRevision
focal_class.modifiers: @Nullable
focal_class.parameters: (final RevisionContext context,
                                 final RevisionVector baseRev,
                                 final Revision changeRev,
                                 final Branch branch,
                                 final Set<Revision> collisions)
focal_class.return: Revision
focal_class.signature: Revision getNewestRevision(final RevisionContext context,
                                 final RevisionVector baseRev,
                                 final Revision changeRev,
                                 final Branch branch,
                                 final Set<Revision> collisions)
focal_class.class_method_signature: NodeDocument.isValidRevision(@NotNull RevisionContext context,
                                      @NotNull Revision rev,
                                      @Nullable String commitValue,
                                      @NotNull RevisionVector readRevision,
                                      @NotNull Map<Revision, String> validRevisions)
focal_class.full_signature: private boolean isValidRevision(@NotNull RevisionContext context,
                                      @NotNull Revision rev,
                                      @Nullable String commitValue,
                                      @NotNull RevisionVector readRevision,
                                      @NotNull Map<Revision, String> validRevisions)
focal_class.identifier: isValidRevision
focal_class.modifiers: private
focal_class.parameters: (@NotNull RevisionContext context,
                                      @NotNull Revision rev,
                                      @Nullable String commitValue,
                                      @NotNull RevisionVector readRevision,
                                      @NotNull Map<Revision, String> validRevisions)
focal_class.return: boolean
focal_class.signature: boolean isValidRevision(@NotNull RevisionContext context,
                                      @NotNull Revision rev,
                                      @Nullable String commitValue,
                                      @NotNull RevisionVector readRevision,
                                      @NotNull Map<Revision, String> validRevisions)
focal_class.class_method_signature: NodeDocument.getNodeAtRevision(@NotNull DocumentNodeStore nodeStore,
                                                 @NotNull RevisionVector readRevision,
                                                 @Nullable Revision lastModified)
focal_class.full_signature: @Nullable public DocumentNodeState getNodeAtRevision(@NotNull DocumentNodeStore nodeStore,
                                                 @NotNull RevisionVector readRevision,
                                                 @Nullable Revision lastModified)
focal_class.identifier: getNodeAtRevision
focal_class.modifiers: @Nullable public
focal_class.parameters: (@NotNull DocumentNodeStore nodeStore,
                                                 @NotNull RevisionVector readRevision,
                                                 @Nullable Revision lastModified)
focal_class.return: DocumentNodeState
focal_class.signature: DocumentNodeState getNodeAtRevision(@NotNull DocumentNodeStore nodeStore,
                                                 @NotNull RevisionVector readRevision,
                                                 @Nullable Revision lastModified)
focal_class.class_method_signature: NodeDocument.getLiveRevision(RevisionContext context,
                                      RevisionVector readRevision,
                                      Map<Revision, String> validRevisions,
                                      LastRevs lastRevs)
focal_class.full_signature: @Nullable public Revision getLiveRevision(RevisionContext context,
                                      RevisionVector readRevision,
                                      Map<Revision, String> validRevisions,
                                      LastRevs lastRevs)
focal_class.identifier: getLiveRevision
focal_class.modifiers: @Nullable public
focal_class.parameters: (RevisionContext context,
                                      RevisionVector readRevision,
                                      Map<Revision, String> validRevisions,
                                      LastRevs lastRevs)
focal_class.return: Revision
focal_class.signature: Revision getLiveRevision(RevisionContext context,
                                      RevisionVector readRevision,
                                      Map<Revision, String> validRevisions,
                                      LastRevs lastRevs)
focal_class.class_method_signature: NodeDocument.isConflicting(@NotNull UpdateOp op,
                            @NotNull RevisionVector baseRevision,
                            @NotNull Revision commitRevision,
                            boolean enableConcurrentAddRemove)
focal_class.full_signature:  boolean isConflicting(@NotNull UpdateOp op,
                            @NotNull RevisionVector baseRevision,
                            @NotNull Revision commitRevision,
                            boolean enableConcurrentAddRemove)
focal_class.identifier: isConflicting
focal_class.parameters: (@NotNull UpdateOp op,
                            @NotNull RevisionVector baseRevision,
                            @NotNull Revision commitRevision,
                            boolean enableConcurrentAddRemove)
focal_class.return: boolean
focal_class.signature: boolean isConflicting(@NotNull UpdateOp op,
                            @NotNull RevisionVector baseRevision,
                            @NotNull Revision commitRevision,
                            boolean enableConcurrentAddRemove)
focal_class.class_method_signature: NodeDocument.allowConflictingDeleteChange(UpdateOp op)
focal_class.full_signature: private boolean allowConflictingDeleteChange(UpdateOp op)
focal_class.identifier: allowConflictingDeleteChange
focal_class.modifiers: private
focal_class.parameters: (UpdateOp op)
focal_class.return: boolean
focal_class.signature: boolean allowConflictingDeleteChange(UpdateOp op)
focal_class.class_method_signature: NodeDocument.split(@NotNull RevisionContext context,
                                      @NotNull RevisionVector head,
                                      @NotNull Function<String, Long> binarySize)
focal_class.full_signature: @NotNull public Iterable<UpdateOp> split(@NotNull RevisionContext context,
                                      @NotNull RevisionVector head,
                                      @NotNull Function<String, Long> binarySize)
focal_class.identifier: split
focal_class.modifiers: @NotNull public
focal_class.parameters: (@NotNull RevisionContext context,
                                      @NotNull RevisionVector head,
                                      @NotNull Function<String, Long> binarySize)
focal_class.return: Iterable<UpdateOp>
focal_class.signature: Iterable<UpdateOp> split(@NotNull RevisionContext context,
                                      @NotNull RevisionVector head,
                                      @NotNull Function<String, Long> binarySize)
focal_class.class_method_signature: NodeDocument.getPreviousRanges()
focal_class.full_signature: @NotNull NavigableMap<Revision, Range> getPreviousRanges()
focal_class.identifier: getPreviousRanges
focal_class.modifiers: @NotNull
focal_class.parameters: ()
focal_class.return: NavigableMap<Revision, Range>
focal_class.signature: NavigableMap<Revision, Range> getPreviousRanges()
focal_class.class_method_signature: NodeDocument.getPreviousRanges(boolean includeStale)
focal_class.full_signature: @NotNull NavigableMap<Revision, Range> getPreviousRanges(boolean includeStale)
focal_class.identifier: getPreviousRanges
focal_class.modifiers: @NotNull
focal_class.parameters: (boolean includeStale)
focal_class.return: NavigableMap<Revision, Range>
focal_class.signature: NavigableMap<Revision, Range> getPreviousRanges(boolean includeStale)
focal_class.class_method_signature: NodeDocument.createPreviousRanges(boolean includeStale)
focal_class.full_signature: @NotNull private NavigableMap<Revision, Range> createPreviousRanges(boolean includeStale)
focal_class.identifier: createPreviousRanges
focal_class.modifiers: @NotNull private
focal_class.parameters: (boolean includeStale)
focal_class.return: NavigableMap<Revision, Range>
focal_class.signature: NavigableMap<Revision, Range> createPreviousRanges(boolean includeStale)
focal_class.class_method_signature: NodeDocument.getPreviousDocs(@NotNull final String property,
                                             @Nullable final Revision revision)
focal_class.full_signature: @NotNull Iterable<NodeDocument> getPreviousDocs(@NotNull final String property,
                                             @Nullable final Revision revision)
focal_class.identifier: getPreviousDocs
focal_class.modifiers: @NotNull
focal_class.parameters: (@NotNull final String property,
                                             @Nullable final Revision revision)
focal_class.return: Iterable<NodeDocument>
focal_class.signature: Iterable<NodeDocument> getPreviousDocs(@NotNull final String property,
                                             @Nullable final Revision revision)
focal_class.class_method_signature: NodeDocument.getPreviousDocument(String prevId)
focal_class.full_signature:  NodeDocument getPreviousDocument(String prevId)
focal_class.identifier: getPreviousDocument
focal_class.parameters: (String prevId)
focal_class.return: NodeDocument
focal_class.signature: NodeDocument getPreviousDocument(String prevId)
focal_class.class_method_signature: NodeDocument.getAllPreviousDocs()
focal_class.full_signature: @NotNull Iterator<NodeDocument> getAllPreviousDocs()
focal_class.identifier: getAllPreviousDocs
focal_class.modifiers: @NotNull
focal_class.parameters: ()
focal_class.return: Iterator<NodeDocument>
focal_class.signature: Iterator<NodeDocument> getAllPreviousDocs()
focal_class.class_method_signature: NodeDocument.getPreviousDocLeaves()
focal_class.full_signature: @NotNull Iterator<NodeDocument> getPreviousDocLeaves()
focal_class.identifier: getPreviousDocLeaves
focal_class.modifiers: @NotNull
focal_class.parameters: ()
focal_class.return: Iterator<NodeDocument>
focal_class.signature: Iterator<NodeDocument> getPreviousDocLeaves()
focal_class.class_method_signature: NodeDocument.getPreviousDoc(Revision rev, Range range)
focal_class.full_signature: @Nullable private NodeDocument getPreviousDoc(Revision rev, Range range)
focal_class.identifier: getPreviousDoc
focal_class.modifiers: @Nullable private
focal_class.parameters: (Revision rev, Range range)
focal_class.return: NodeDocument
focal_class.signature: NodeDocument getPreviousDoc(Revision rev, Range range)
focal_class.class_method_signature: NodeDocument.findPrevReferencingDoc(Revision revision, int height)
focal_class.full_signature: @Nullable NodeDocument findPrevReferencingDoc(Revision revision, int height)
focal_class.identifier: findPrevReferencingDoc
focal_class.modifiers: @Nullable
focal_class.parameters: (Revision revision, int height)
focal_class.return: NodeDocument
focal_class.signature: NodeDocument findPrevReferencingDoc(Revision revision, int height)
focal_class.class_method_signature: NodeDocument.getAllChanges()
focal_class.full_signature:  Iterable<Revision> getAllChanges()
focal_class.identifier: getAllChanges
focal_class.parameters: ()
focal_class.return: Iterable<Revision>
focal_class.signature: Iterable<Revision> getAllChanges()
focal_class.class_method_signature: NodeDocument.getChanges(@NotNull final String property,
                                    @NotNull final RevisionVector min)
focal_class.full_signature: @NotNull Iterable<Revision> getChanges(@NotNull final String property,
                                    @NotNull final RevisionVector min)
focal_class.identifier: getChanges
focal_class.modifiers: @NotNull
focal_class.parameters: (@NotNull final String property,
                                    @NotNull final RevisionVector min)
focal_class.return: Iterable<Revision>
focal_class.signature: Iterable<Revision> getChanges(@NotNull final String property,
                                    @NotNull final RevisionVector min)
focal_class.class_method_signature: NodeDocument.getVisibleChanges(@NotNull final String property,
                                                              @NotNull final RevisionVector readRevision)
focal_class.full_signature: @NotNull Iterable<Map.Entry<Revision, String>> getVisibleChanges(@NotNull final String property,
                                                              @NotNull final RevisionVector readRevision)
focal_class.identifier: getVisibleChanges
focal_class.modifiers: @NotNull
focal_class.parameters: (@NotNull final String property,
                                                              @NotNull final RevisionVector readRevision)
focal_class.return: Iterable<Map.Entry<Revision, String>>
focal_class.signature: Iterable<Map.Entry<Revision, String>> getVisibleChanges(@NotNull final String property,
                                                              @NotNull final RevisionVector readRevision)
focal_class.class_method_signature: NodeDocument.collectVisiblePreviousChanges(@NotNull final String property,
                                                 @NotNull final Revision readRevision,
                                                 @NotNull final List<Iterable<Entry<Revision, String>>> changes)
focal_class.full_signature: private void collectVisiblePreviousChanges(@NotNull final String property,
                                                 @NotNull final Revision readRevision,
                                                 @NotNull final List<Iterable<Entry<Revision, String>>> changes)
focal_class.identifier: collectVisiblePreviousChanges
focal_class.modifiers: private
focal_class.parameters: (@NotNull final String property,
                                                 @NotNull final Revision readRevision,
                                                 @NotNull final List<Iterable<Entry<Revision, String>>> changes)
focal_class.return: void
focal_class.signature: void collectVisiblePreviousChanges(@NotNull final String property,
                                                 @NotNull final Revision readRevision,
                                                 @NotNull final List<Iterable<Entry<Revision, String>>> changes)
focal_class.class_method_signature: NodeDocument.changesFor(final List<Range> ranges,
                                                               final RevisionVector readRev,
                                                               final String property)
focal_class.full_signature: private Iterable<Map.Entry<Revision, String>> changesFor(final List<Range> ranges,
                                                               final RevisionVector readRev,
                                                               final String property)
focal_class.identifier: changesFor
focal_class.modifiers: private
focal_class.parameters: (final List<Range> ranges,
                                                               final RevisionVector readRev,
                                                               final String property)
focal_class.return: Iterable<Map.Entry<Revision, String>>
focal_class.signature: Iterable<Map.Entry<Revision, String>> changesFor(final List<Range> ranges,
                                                               final RevisionVector readRev,
                                                               final String property)
focal_class.class_method_signature: NodeDocument.getLocalMap(String key)
focal_class.full_signature: @NotNull SortedMap<Revision, String> getLocalMap(String key)
focal_class.identifier: getLocalMap
focal_class.modifiers: @NotNull
focal_class.parameters: (String key)
focal_class.return: SortedMap<Revision, String>
focal_class.signature: SortedMap<Revision, String> getLocalMap(String key)
focal_class.class_method_signature: NodeDocument.getLocalRevisions()
focal_class.full_signature: @NotNull SortedMap<Revision, String> getLocalRevisions()
focal_class.identifier: getLocalRevisions
focal_class.modifiers: @NotNull
focal_class.parameters: ()
focal_class.return: SortedMap<Revision, String>
focal_class.signature: SortedMap<Revision, String> getLocalRevisions()
focal_class.class_method_signature: NodeDocument.getLocalCommitRoot()
focal_class.full_signature: @NotNull SortedMap<Revision, String> getLocalCommitRoot()
focal_class.identifier: getLocalCommitRoot
focal_class.modifiers: @NotNull
focal_class.parameters: ()
focal_class.return: SortedMap<Revision, String>
focal_class.signature: SortedMap<Revision, String> getLocalCommitRoot()
focal_class.class_method_signature: NodeDocument.getLocalDeleted()
focal_class.full_signature: @NotNull SortedMap<Revision, String> getLocalDeleted()
focal_class.identifier: getLocalDeleted
focal_class.modifiers: @NotNull
focal_class.parameters: ()
focal_class.return: SortedMap<Revision, String>
focal_class.signature: SortedMap<Revision, String> getLocalDeleted()
focal_class.class_method_signature: NodeDocument.getStalePrev()
focal_class.full_signature: @NotNull SortedMap<Revision, String> getStalePrev()
focal_class.identifier: getStalePrev
focal_class.modifiers: @NotNull
focal_class.parameters: ()
focal_class.return: SortedMap<Revision, String>
focal_class.signature: SortedMap<Revision, String> getStalePrev()
focal_class.class_method_signature: NodeDocument.getLocalBranchCommits()
focal_class.full_signature: @NotNull public Set<Revision> getLocalBranchCommits()
focal_class.identifier: getLocalBranchCommits
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: Set<Revision>
focal_class.signature: Set<Revision> getLocalBranchCommits()
focal_class.class_method_signature: NodeDocument.resolveCommitValue(Revision revision)
focal_class.full_signature: @Nullable String resolveCommitValue(Revision revision)
focal_class.identifier: resolveCommitValue
focal_class.modifiers: @Nullable
focal_class.parameters: (Revision revision)
focal_class.return: String
focal_class.signature: String resolveCommitValue(Revision revision)
focal_class.class_method_signature: NodeDocument.getSweepRevisions()
focal_class.full_signature: @NotNull RevisionVector getSweepRevisions()
focal_class.identifier: getSweepRevisions
focal_class.modifiers: @NotNull
focal_class.parameters: ()
focal_class.return: RevisionVector
focal_class.signature: RevisionVector getSweepRevisions()
focal_class.class_method_signature: NodeDocument.setChildrenFlag(@NotNull UpdateOp op,
                                         boolean hasChildNode)
focal_class.full_signature: public static void setChildrenFlag(@NotNull UpdateOp op,
                                         boolean hasChildNode)
focal_class.identifier: setChildrenFlag
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                         boolean hasChildNode)
focal_class.return: void
focal_class.signature: void setChildrenFlag(@NotNull UpdateOp op,
                                         boolean hasChildNode)
focal_class.class_method_signature: NodeDocument.setModified(@NotNull UpdateOp op,
                                     @NotNull Revision revision)
focal_class.full_signature: public static void setModified(@NotNull UpdateOp op,
                                     @NotNull Revision revision)
focal_class.identifier: setModified
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                     @NotNull Revision revision)
focal_class.return: void
focal_class.signature: void setModified(@NotNull UpdateOp op,
                                     @NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.setRevision(@NotNull UpdateOp op,
                                     @NotNull Revision revision,
                                     @NotNull String commitValue)
focal_class.full_signature: public static void setRevision(@NotNull UpdateOp op,
                                     @NotNull Revision revision,
                                     @NotNull String commitValue)
focal_class.identifier: setRevision
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                     @NotNull Revision revision,
                                     @NotNull String commitValue)
focal_class.return: void
focal_class.signature: void setRevision(@NotNull UpdateOp op,
                                     @NotNull Revision revision,
                                     @NotNull String commitValue)
focal_class.class_method_signature: NodeDocument.unsetRevision(@NotNull UpdateOp op,
                                       @NotNull Revision revision)
focal_class.full_signature: public static void unsetRevision(@NotNull UpdateOp op,
                                       @NotNull Revision revision)
focal_class.identifier: unsetRevision
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                       @NotNull Revision revision)
focal_class.return: void
focal_class.signature: void unsetRevision(@NotNull UpdateOp op,
                                       @NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.isRevisionsEntry(String name)
focal_class.full_signature: public static boolean isRevisionsEntry(String name)
focal_class.identifier: isRevisionsEntry
focal_class.modifiers: public static
focal_class.parameters: (String name)
focal_class.return: boolean
focal_class.signature: boolean isRevisionsEntry(String name)
focal_class.class_method_signature: NodeDocument.isCommitRootEntry(String name)
focal_class.full_signature: public static boolean isCommitRootEntry(String name)
focal_class.identifier: isCommitRootEntry
focal_class.modifiers: public static
focal_class.parameters: (String name)
focal_class.return: boolean
focal_class.signature: boolean isCommitRootEntry(String name)
focal_class.class_method_signature: NodeDocument.isDeletedEntry(String name)
focal_class.full_signature: public static boolean isDeletedEntry(String name)
focal_class.identifier: isDeletedEntry
focal_class.modifiers: public static
focal_class.parameters: (String name)
focal_class.return: boolean
focal_class.signature: boolean isDeletedEntry(String name)
focal_class.class_method_signature: NodeDocument.isLastRevEntry(String name)
focal_class.full_signature: public static boolean isLastRevEntry(String name)
focal_class.identifier: isLastRevEntry
focal_class.modifiers: public static
focal_class.parameters: (String name)
focal_class.return: boolean
focal_class.signature: boolean isLastRevEntry(String name)
focal_class.class_method_signature: NodeDocument.removeRevision(@NotNull UpdateOp op,
                                        @NotNull Revision revision)
focal_class.full_signature: public static void removeRevision(@NotNull UpdateOp op,
                                        @NotNull Revision revision)
focal_class.identifier: removeRevision
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                        @NotNull Revision revision)
focal_class.return: void
focal_class.signature: void removeRevision(@NotNull UpdateOp op,
                                        @NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.addCollision(@NotNull UpdateOp op,
                                      @NotNull Revision revision,
                                      @NotNull Revision other)
focal_class.full_signature: public static void addCollision(@NotNull UpdateOp op,
                                      @NotNull Revision revision,
                                      @NotNull Revision other)
focal_class.identifier: addCollision
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                      @NotNull Revision revision,
                                      @NotNull Revision other)
focal_class.return: void
focal_class.signature: void addCollision(@NotNull UpdateOp op,
                                      @NotNull Revision revision,
                                      @NotNull Revision other)
focal_class.class_method_signature: NodeDocument.removeCollision(@NotNull UpdateOp op,
                                         @NotNull Revision revision)
focal_class.full_signature: public static void removeCollision(@NotNull UpdateOp op,
                                         @NotNull Revision revision)
focal_class.identifier: removeCollision
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                         @NotNull Revision revision)
focal_class.return: void
focal_class.signature: void removeCollision(@NotNull UpdateOp op,
                                         @NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.setLastRev(@NotNull UpdateOp op,
                                    @NotNull Revision revision)
focal_class.full_signature: public static void setLastRev(@NotNull UpdateOp op,
                                    @NotNull Revision revision)
focal_class.identifier: setLastRev
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                    @NotNull Revision revision)
focal_class.return: void
focal_class.signature: void setLastRev(@NotNull UpdateOp op,
                                    @NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.setCommitRoot(@NotNull UpdateOp op,
                                       @NotNull Revision revision,
                                       int commitRootDepth)
focal_class.full_signature: public static void setCommitRoot(@NotNull UpdateOp op,
                                       @NotNull Revision revision,
                                       int commitRootDepth)
focal_class.identifier: setCommitRoot
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                       @NotNull Revision revision,
                                       int commitRootDepth)
focal_class.return: void
focal_class.signature: void setCommitRoot(@NotNull UpdateOp op,
                                       @NotNull Revision revision,
                                       int commitRootDepth)
focal_class.class_method_signature: NodeDocument.removeCommitRoot(@NotNull UpdateOp op,
                                          @NotNull Revision revision)
focal_class.full_signature: public static void removeCommitRoot(@NotNull UpdateOp op,
                                          @NotNull Revision revision)
focal_class.identifier: removeCommitRoot
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                          @NotNull Revision revision)
focal_class.return: void
focal_class.signature: void removeCommitRoot(@NotNull UpdateOp op,
                                          @NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.unsetCommitRoot(@NotNull UpdateOp op,
                                         @NotNull Revision revision)
focal_class.full_signature: public static void unsetCommitRoot(@NotNull UpdateOp op,
                                         @NotNull Revision revision)
focal_class.identifier: unsetCommitRoot
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                         @NotNull Revision revision)
focal_class.return: void
focal_class.signature: void unsetCommitRoot(@NotNull UpdateOp op,
                                         @NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.setDeleted(@NotNull UpdateOp op,
                                    @NotNull Revision revision,
                                    boolean deleted)
focal_class.full_signature: public static void setDeleted(@NotNull UpdateOp op,
                                    @NotNull Revision revision,
                                    boolean deleted)
focal_class.identifier: setDeleted
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                    @NotNull Revision revision,
                                    boolean deleted)
focal_class.return: void
focal_class.signature: void setDeleted(@NotNull UpdateOp op,
                                    @NotNull Revision revision,
                                    boolean deleted)
focal_class.class_method_signature: NodeDocument.setDeletedOnce(@NotNull UpdateOp op)
focal_class.full_signature: public static void setDeletedOnce(@NotNull UpdateOp op)
focal_class.identifier: setDeletedOnce
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op)
focal_class.return: void
focal_class.signature: void setDeletedOnce(@NotNull UpdateOp op)
focal_class.class_method_signature: NodeDocument.removeDeleted(@NotNull UpdateOp op,
                                       @NotNull Revision revision)
focal_class.full_signature: public static void removeDeleted(@NotNull UpdateOp op,
                                       @NotNull Revision revision)
focal_class.identifier: removeDeleted
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                       @NotNull Revision revision)
focal_class.return: void
focal_class.signature: void removeDeleted(@NotNull UpdateOp op,
                                       @NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.setPrevious(@NotNull UpdateOp op,
                                     @NotNull Range range)
focal_class.full_signature: public static void setPrevious(@NotNull UpdateOp op,
                                     @NotNull Range range)
focal_class.identifier: setPrevious
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                     @NotNull Range range)
focal_class.return: void
focal_class.signature: void setPrevious(@NotNull UpdateOp op,
                                     @NotNull Range range)
focal_class.class_method_signature: NodeDocument.removePrevious(@NotNull UpdateOp op,
                                        @NotNull Range range)
focal_class.full_signature: public static void removePrevious(@NotNull UpdateOp op,
                                        @NotNull Range range)
focal_class.identifier: removePrevious
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                        @NotNull Range range)
focal_class.return: void
focal_class.signature: void removePrevious(@NotNull UpdateOp op,
                                        @NotNull Range range)
focal_class.class_method_signature: NodeDocument.removePrevious(@NotNull UpdateOp op,
                                        @NotNull Revision revision)
focal_class.full_signature: public static void removePrevious(@NotNull UpdateOp op,
                                        @NotNull Revision revision)
focal_class.identifier: removePrevious
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                        @NotNull Revision revision)
focal_class.return: void
focal_class.signature: void removePrevious(@NotNull UpdateOp op,
                                        @NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.setStalePrevious(@NotNull UpdateOp op,
                                          @NotNull Revision revision,
                                          int height)
focal_class.full_signature: public static void setStalePrevious(@NotNull UpdateOp op,
                                          @NotNull Revision revision,
                                          int height)
focal_class.identifier: setStalePrevious
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                          @NotNull Revision revision,
                                          int height)
focal_class.return: void
focal_class.signature: void setStalePrevious(@NotNull UpdateOp op,
                                          @NotNull Revision revision,
                                          int height)
focal_class.class_method_signature: NodeDocument.removeStalePrevious(@NotNull UpdateOp op,
                                             @NotNull Revision revision)
focal_class.full_signature: public static void removeStalePrevious(@NotNull UpdateOp op,
                                             @NotNull Revision revision)
focal_class.identifier: removeStalePrevious
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                             @NotNull Revision revision)
focal_class.return: void
focal_class.signature: void removeStalePrevious(@NotNull UpdateOp op,
                                             @NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.setHasBinary(@NotNull UpdateOp op)
focal_class.full_signature: public static void setHasBinary(@NotNull UpdateOp op)
focal_class.identifier: setHasBinary
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op)
focal_class.return: void
focal_class.signature: void setHasBinary(@NotNull UpdateOp op)
focal_class.class_method_signature: NodeDocument.setBranchCommit(@NotNull UpdateOp op,
                                         @NotNull Revision revision)
focal_class.full_signature: public static void setBranchCommit(@NotNull UpdateOp op,
                                         @NotNull Revision revision)
focal_class.identifier: setBranchCommit
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                         @NotNull Revision revision)
focal_class.return: void
focal_class.signature: void setBranchCommit(@NotNull UpdateOp op,
                                         @NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.removeBranchCommit(@NotNull UpdateOp op,
                                            @NotNull Revision revision)
focal_class.full_signature: public static void removeBranchCommit(@NotNull UpdateOp op,
                                            @NotNull Revision revision)
focal_class.identifier: removeBranchCommit
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                            @NotNull Revision revision)
focal_class.return: void
focal_class.signature: void removeBranchCommit(@NotNull UpdateOp op,
                                            @NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.setSweepRevision(@NotNull UpdateOp op,
                                          @NotNull Revision revision)
focal_class.full_signature: public static void setSweepRevision(@NotNull UpdateOp op,
                                          @NotNull Revision revision)
focal_class.identifier: setSweepRevision
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                          @NotNull Revision revision)
focal_class.return: void
focal_class.signature: void setSweepRevision(@NotNull UpdateOp op,
                                          @NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.hasLastRev(@NotNull UpdateOp op,
                                    @NotNull Revision revision)
focal_class.full_signature: public static void hasLastRev(@NotNull UpdateOp op,
                                    @NotNull Revision revision)
focal_class.identifier: hasLastRev
focal_class.modifiers: public static
focal_class.parameters: (@NotNull UpdateOp op,
                                    @NotNull Revision revision)
focal_class.return: void
focal_class.signature: void hasLastRev(@NotNull UpdateOp op,
                                    @NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.previousDocumentNotFound(String prevId, Revision rev)
focal_class.full_signature: private void previousDocumentNotFound(String prevId, Revision rev)
focal_class.identifier: previousDocumentNotFound
focal_class.modifiers: private
focal_class.parameters: (String prevId, Revision rev)
focal_class.return: void
focal_class.signature: void previousDocumentNotFound(String prevId, Revision rev)
focal_class.class_method_signature: NodeDocument.createLastRevs(@NotNull RevisionVector readRevision,
                                      @NotNull RevisionContext context,
                                      @Nullable Branch branch,
                                      @Nullable Revision pendingLastRev)
focal_class.full_signature: private LastRevs createLastRevs(@NotNull RevisionVector readRevision,
                                      @NotNull RevisionContext context,
                                      @Nullable Branch branch,
                                      @Nullable Revision pendingLastRev)
focal_class.identifier: createLastRevs
focal_class.modifiers: private
focal_class.parameters: (@NotNull RevisionVector readRevision,
                                      @NotNull RevisionContext context,
                                      @Nullable Branch branch,
                                      @Nullable Revision pendingLastRev)
focal_class.return: LastRevs
focal_class.signature: LastRevs createLastRevs(@NotNull RevisionVector readRevision,
                                      @NotNull RevisionContext context,
                                      @Nullable Branch branch,
                                      @Nullable Revision pendingLastRev)
focal_class.class_method_signature: NodeDocument.isMostRecentCommitted(SortedMap<Revision, String> valueMap,
                                            Revision revision,
                                            RevisionContext context)
focal_class.full_signature: private boolean isMostRecentCommitted(SortedMap<Revision, String> valueMap,
                                            Revision revision,
                                            RevisionContext context)
focal_class.identifier: isMostRecentCommitted
focal_class.modifiers: private
focal_class.parameters: (SortedMap<Revision, String> valueMap,
                                            Revision revision,
                                            RevisionContext context)
focal_class.return: boolean
focal_class.signature: boolean isMostRecentCommitted(SortedMap<Revision, String> valueMap,
                                            Revision revision,
                                            RevisionContext context)
focal_class.class_method_signature: NodeDocument.getCommitRoot(@NotNull Revision rev)
focal_class.full_signature: @Nullable private NodeDocument getCommitRoot(@NotNull Revision rev)
focal_class.identifier: getCommitRoot
focal_class.modifiers: @Nullable private
focal_class.parameters: (@NotNull Revision rev)
focal_class.return: NodeDocument
focal_class.signature: NodeDocument getCommitRoot(@NotNull Revision rev)
focal_class.class_method_signature: NodeDocument.getPathAtDepth(@NotNull String depth)
focal_class.full_signature: @NotNull private Path getPathAtDepth(@NotNull String depth)
focal_class.identifier: getPathAtDepth
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull String depth)
focal_class.return: Path
focal_class.signature: Path getPathAtDepth(@NotNull String depth)
focal_class.class_method_signature: NodeDocument.getCommitRootDepth(@NotNull Revision revision)
focal_class.full_signature: @Nullable private String getCommitRootDepth(@NotNull Revision revision)
focal_class.identifier: getCommitRootDepth
focal_class.modifiers: @Nullable private
focal_class.parameters: (@NotNull Revision revision)
focal_class.return: String
focal_class.signature: String getCommitRootDepth(@NotNull Revision revision)
focal_class.class_method_signature: NodeDocument.isVisible(@NotNull RevisionContext context,
                                @NotNull Revision revision,
                                @NotNull String commitValue,
                                @NotNull RevisionVector readRevision)
focal_class.full_signature: private boolean isVisible(@NotNull RevisionContext context,
                                @NotNull Revision revision,
                                @NotNull String commitValue,
                                @NotNull RevisionVector readRevision)
focal_class.identifier: isVisible
focal_class.modifiers: private
focal_class.parameters: (@NotNull RevisionContext context,
                                @NotNull Revision revision,
                                @NotNull String commitValue,
                                @NotNull RevisionVector readRevision)
focal_class.return: boolean
focal_class.signature: boolean isVisible(@NotNull RevisionContext context,
                                @NotNull Revision revision,
                                @NotNull String commitValue,
                                @NotNull RevisionVector readRevision)
focal_class.class_method_signature: NodeDocument.getCommitValue(Revision revision)
focal_class.full_signature: @Nullable private String getCommitValue(Revision revision)
focal_class.identifier: getCommitValue
focal_class.modifiers: @Nullable private
focal_class.parameters: (Revision revision)
focal_class.return: String
focal_class.signature: String getCommitValue(Revision revision)
focal_class.class_method_signature: NodeDocument.getLatestValue(@NotNull RevisionContext context,
                                   @NotNull Iterable<Map.Entry<Revision, String>> valueMap,
                                   @NotNull RevisionVector readRevision,
                                   @NotNull Map<Revision, String> validRevisions,
                                   @NotNull LastRevs lastRevs)
focal_class.full_signature: @Nullable private Value getLatestValue(@NotNull RevisionContext context,
                                   @NotNull Iterable<Map.Entry<Revision, String>> valueMap,
                                   @NotNull RevisionVector readRevision,
                                   @NotNull Map<Revision, String> validRevisions,
                                   @NotNull LastRevs lastRevs)
focal_class.identifier: getLatestValue
focal_class.modifiers: @Nullable private
focal_class.parameters: (@NotNull RevisionContext context,
                                   @NotNull Iterable<Map.Entry<Revision, String>> valueMap,
                                   @NotNull RevisionVector readRevision,
                                   @NotNull Map<Revision, String> validRevisions,
                                   @NotNull LastRevs lastRevs)
focal_class.return: Value
focal_class.signature: Value getLatestValue(@NotNull RevisionContext context,
                                   @NotNull Iterable<Map.Entry<Revision, String>> valueMap,
                                   @NotNull RevisionVector readRevision,
                                   @NotNull Map<Revision, String> validRevisions,
                                   @NotNull LastRevs lastRevs)
focal_class.class_method_signature: NodeDocument.getPath()
focal_class.full_signature: @NotNull public Path getPath()
focal_class.identifier: getPath
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: Path
focal_class.signature: Path getPath()
focal_class.class_method_signature: NodeDocument.getPathString()
focal_class.full_signature: @NotNull private String getPathString()
focal_class.identifier: getPathString
focal_class.modifiers: @NotNull private
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getPathString()
focal_class.class_method_signature: NodeDocument.getDeleted()
focal_class.full_signature: @NotNull Map<Revision, String> getDeleted()
focal_class.identifier: getDeleted
focal_class.modifiers: @NotNull
focal_class.parameters: ()
focal_class.return: Map<Revision, String>
focal_class.signature: Map<Revision, String> getDeleted()
focal_class.class_method_signature: NodeDocument.asString()
focal_class.full_signature: public String asString()
focal_class.identifier: asString
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String asString()
focal_class.class_method_signature: NodeDocument.toJson(JsopWriter json, Map<?, Object> map)
focal_class.full_signature: @SuppressWarnings("unchecked") private static void toJson(JsopWriter json, Map<?, Object> map)
focal_class.identifier: toJson
focal_class.modifiers: @SuppressWarnings("unchecked") private static
focal_class.parameters: (JsopWriter json, Map<?, Object> map)
focal_class.return: void
focal_class.signature: void toJson(JsopWriter json, Map<?, Object> map)
focal_class.class_method_signature: NodeDocument.fromString(DocumentStore store, String s)
focal_class.full_signature: public static NodeDocument fromString(DocumentStore store, String s)
focal_class.identifier: fromString
focal_class.modifiers: public static
focal_class.parameters: (DocumentStore store, String s)
focal_class.return: NodeDocument
focal_class.signature: NodeDocument fromString(DocumentStore store, String s)
focal_class.class_method_signature: NodeDocument.fromJson(JsopTokenizer json)
focal_class.full_signature: private static Object fromJson(JsopTokenizer json)
focal_class.identifier: fromJson
focal_class.modifiers: private static
focal_class.parameters: (JsopTokenizer json)
focal_class.return: Object
focal_class.signature: Object fromJson(JsopTokenizer json)
focal_class.superclass: extends Document
focal_method.body: @NotNull
      Iterable<Map.Entry<Revision, String>> getVisibleChanges(@NotNull final String property,
                                                              @NotNull final RevisionVector readRevision) {
          Predicate<Map.Entry<Revision, String>> p = new Predicate<Map.Entry<Revision, String>>() {
              @Override
              public boolean apply(Map.Entry<Revision, String> input) {
                  return !readRevision.isRevisionNewer(input.getKey());
              }
          };
          List<Iterable<Map.Entry<Revision, String>>> changes = Lists.newArrayList();
          Map<Revision, String> localChanges = getLocalMap(property);
          if (!localChanges.isEmpty()) {
              changes.add(filter(localChanges.entrySet(), p));
          }
  
          for (Revision r : readRevision) {
              // collect changes per clusterId
              collectVisiblePreviousChanges(property, r, changes);
          }
  
          if (changes.size() == 1) {
              return changes.get(0);
          } else {
              return mergeSorted(changes, ValueComparator.REVERSE);
          }
      }
focal_method.class_method_signature: NodeDocument.getVisibleChanges(@NotNull final String property,
                                                              @NotNull final RevisionVector readRevision)
focal_method.full_signature: @NotNull Iterable<Map.Entry<Revision, String>> getVisibleChanges(@NotNull final String property,
                                                              @NotNull final RevisionVector readRevision)
focal_method.identifier: getVisibleChanges
focal_method.invocations: isRevisionNewer getKey newArrayList getLocalMap isEmpty add filter entrySet collectVisiblePreviousChanges size get mergeSorted
focal_method.modifiers: @NotNull
focal_method.parameters: (@NotNull final String property,
                                                              @NotNull final RevisionVector readRevision)
focal_method.return: Iterable<Map.Entry<Revision, String>>
focal_method.signature: Iterable<Map.Entry<Revision, String>> getVisibleChanges(@NotNull final String property,
                                                              @NotNull final RevisionVector readRevision)