Interface PartialConflictHandler

All Known Subinterfaces:
ConflictHandler

@Deprecated public interface PartialConflictHandler
Deprecated.
A PartialConflictHandler is responsible for handling conflicts which happen on Root.rebase() and on the implicit rebase operation which takes part on Root.commit().

This interface contains one method per type of conflict which might occur. Each of these methods may return a PartialConflictHandler.Resolution for the current conflict or null if it cannot resolve the conflict. The resolution indicates to use the changes in the current Root instance (PartialConflictHandler.Resolution.OURS) or to use the changes from the underlying persistence store (PartialConflictHandler.Resolution.THEIRS). Alternatively the resolution can also indicate that the changes have been successfully merged by this ConflictHandler instance (PartialConflictHandler.Resolution.MERGED).

See Also:
  • Method Details

    • addExistingProperty

      @Nullable @Nullable PartialConflictHandler.Resolution addExistingProperty(NodeBuilder parent, org.apache.jackrabbit.oak.api.PropertyState ours, org.apache.jackrabbit.oak.api.PropertyState theirs)
      Deprecated.
      The property ours has been added to parent which conflicts with property theirs which has been added in the persistence store.
      Parameters:
      parent - root of the conflict
      ours - our version of the property
      theirs - their version of the property
      Returns:
      PartialConflictHandler.Resolution of the conflict or null
    • changeDeletedProperty

      @Nullable @Nullable PartialConflictHandler.Resolution changeDeletedProperty(NodeBuilder parent, org.apache.jackrabbit.oak.api.PropertyState ours)
      Deprecated.
      The property ours has been changed in parent while it was removed in the persistence store.
      Parameters:
      parent - root of the conflict
      ours - our version of the property
      Returns:
      PartialConflictHandler.Resolution of the conflict or null
    • changeChangedProperty

      @Nullable @Nullable PartialConflictHandler.Resolution changeChangedProperty(NodeBuilder parent, org.apache.jackrabbit.oak.api.PropertyState ours, org.apache.jackrabbit.oak.api.PropertyState theirs)
      Deprecated.
      The property ours has been changed in parent while it was also changed to a different value (theirs) in the persistence store.
      Parameters:
      parent - root of the conflict
      ours - our version of the property
      theirs - their version of the property
      Returns:
      PartialConflictHandler.Resolution of the conflict or null
    • deleteDeletedProperty

      @Nullable @Nullable PartialConflictHandler.Resolution deleteDeletedProperty(NodeBuilder parent, org.apache.jackrabbit.oak.api.PropertyState ours)
      Deprecated.
      The property ours has been removed in parent while it was also removed in the persistence store.
      Parameters:
      parent - root of the conflict
      ours - our version of the property
      Returns:
      PartialConflictHandler.Resolution of the conflict or null
    • deleteChangedProperty

      @Nullable @Nullable PartialConflictHandler.Resolution deleteChangedProperty(NodeBuilder parent, org.apache.jackrabbit.oak.api.PropertyState theirs)
      Deprecated.
      The property theirs changed in the persistence store while it has been deleted locally.
      Parameters:
      parent - root of the conflict
      theirs - their version of the property
      Returns:
      PartialConflictHandler.Resolution of the conflict or null
    • addExistingNode

      @Nullable @Nullable PartialConflictHandler.Resolution addExistingNode(NodeBuilder parent, String name, NodeState ours, NodeState theirs)
      Deprecated.
      The node ours has been added to parent which conflicts with node theirs which has been added in the persistence store.
      Parameters:
      parent - root of the conflict
      name - name of the node
      ours - our version of the node
      theirs - their version of the node
      Returns:
      PartialConflictHandler.Resolution of the conflict or null
    • changeDeletedNode

      @Nullable @Nullable PartialConflictHandler.Resolution changeDeletedNode(NodeBuilder parent, String name, NodeState ours)
      Deprecated.
      The node ours has been changed in parent while it was removed in the persistence store.
      Parameters:
      parent - root of the conflict
      name - name of the node
      ours - our version of the node
      Returns:
      PartialConflictHandler.Resolution of the conflict or null
    • deleteChangedNode

      @Nullable @Nullable PartialConflictHandler.Resolution deleteChangedNode(NodeBuilder parent, String name, NodeState theirs)
      Deprecated.
      The node theirs changed in the persistence store while it has been deleted locally.
      Parameters:
      parent - root of the conflict
      name - name of the node
      theirs - their version of the node
      Returns:
      PartialConflictHandler.Resolution of the conflict or null
    • deleteDeletedNode

      @Nullable @Nullable PartialConflictHandler.Resolution deleteDeletedNode(NodeBuilder parent, String name)
      Deprecated.
      The node name has been removed in parent while it was also removed in the persistence store.
      Parameters:
      parent - root of the conflict
      name - name of the node
      Returns:
      PartialConflictHandler.Resolution of the conflict or null