public interface ThreeWayConflictHandler
ThreeWayConflictHandler
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 must return a ThreeWayConflictHandler.Resolution
for the current conflict.
The resolution indicates to use the changes in the current Root
instance
(ThreeWayConflictHandler.Resolution.OURS
) or to use the changes from the underlying persistence
store (ThreeWayConflictHandler.Resolution.THEIRS
). Alternatively the resolution can also indicate
that the changes have been successfully merged by this ThreeWayConflictHandler
instance (ThreeWayConflictHandler.Resolution.MERGED
).Modifier and Type | Interface and Description |
---|---|
static class |
ThreeWayConflictHandler.Resolution
Resolutions for conflicts
|
Modifier and Type | Method and Description |
---|---|
@NotNull ThreeWayConflictHandler.Resolution |
addExistingNode(@NotNull NodeBuilder parent,
@NotNull java.lang.String name,
@NotNull NodeState ours,
@NotNull NodeState theirs)
The node
ours has been added to parent which conflicts
with node theirs which has been added in the persistence store. |
@NotNull ThreeWayConflictHandler.Resolution |
addExistingProperty(@NotNull NodeBuilder parent,
@NotNull PropertyState ours,
@NotNull PropertyState theirs)
The property
ours has been added to parent which conflicts
with property theirs which has been added in the persistence store. |
@NotNull ThreeWayConflictHandler.Resolution |
changeChangedProperty(@NotNull NodeBuilder parent,
@NotNull PropertyState ours,
@NotNull PropertyState theirs,
@NotNull PropertyState base)
The property
ours has been changed in parent while it was
also changed to a different value (theirs ) in the persistence store. |
@NotNull ThreeWayConflictHandler.Resolution |
changeDeletedNode(@NotNull NodeBuilder parent,
@NotNull java.lang.String name,
@NotNull NodeState ours,
@NotNull NodeState base)
The node
ours has been changed in parent while it was
removed in the persistence store. |
@NotNull ThreeWayConflictHandler.Resolution |
changeDeletedProperty(@NotNull NodeBuilder parent,
@NotNull PropertyState ours,
@NotNull PropertyState base)
The property
ours has been changed in parent while it was
removed in the persistence store. |
@NotNull ThreeWayConflictHandler.Resolution |
deleteChangedNode(@NotNull NodeBuilder parent,
@NotNull java.lang.String name,
@NotNull NodeState theirs,
@NotNull NodeState base)
The node
theirs changed in the persistence store while it has been
deleted locally. |
@NotNull ThreeWayConflictHandler.Resolution |
deleteChangedProperty(@NotNull NodeBuilder parent,
@NotNull PropertyState theirs,
@NotNull PropertyState base)
The property
theirs changed in the persistence store while it has been
deleted locally. |
@NotNull ThreeWayConflictHandler.Resolution |
deleteDeletedNode(@NotNull NodeBuilder parent,
@NotNull java.lang.String name,
@NotNull NodeState base)
The node
name has been removed in parent while it was
also removed in the persistence store. |
@NotNull ThreeWayConflictHandler.Resolution |
deleteDeletedProperty(@NotNull NodeBuilder parent,
@NotNull PropertyState base)
The property
ours has been removed in parent while it was
also removed in the persistence store. |
@NotNull @NotNull ThreeWayConflictHandler.Resolution addExistingProperty(@NotNull @NotNull NodeBuilder parent, @NotNull @NotNull PropertyState ours, @NotNull @NotNull PropertyState theirs)
ours
has been added to parent
which conflicts
with property theirs
which has been added in the persistence store.parent
- root of the conflictours
- our version of the propertytheirs
- their version of the propertyThreeWayConflictHandler.Resolution
of the conflict@NotNull @NotNull ThreeWayConflictHandler.Resolution changeDeletedProperty(@NotNull @NotNull NodeBuilder parent, @NotNull @NotNull PropertyState ours, @NotNull @NotNull PropertyState base)
ours
has been changed in parent
while it was
removed in the persistence store.parent
- root of the conflictours
- our version of the propertybase
- the base version of the propertyThreeWayConflictHandler.Resolution
of the conflict@NotNull @NotNull ThreeWayConflictHandler.Resolution changeChangedProperty(@NotNull @NotNull NodeBuilder parent, @NotNull @NotNull PropertyState ours, @NotNull @NotNull PropertyState theirs, @NotNull @NotNull PropertyState base)
ours
has been changed in parent
while it was
also changed to a different value (theirs
) in the persistence store.parent
- root of the conflictours
- our version of the propertytheirs
- their version of the propertybase
- the base version of the propertyThreeWayConflictHandler.Resolution
of the conflict@NotNull @NotNull ThreeWayConflictHandler.Resolution deleteDeletedProperty(@NotNull @NotNull NodeBuilder parent, @NotNull @NotNull PropertyState base)
ours
has been removed in parent
while it was
also removed in the persistence store.parent
- root of the conflictbase
- the base version of the propertyThreeWayConflictHandler.Resolution
of the conflict@NotNull @NotNull ThreeWayConflictHandler.Resolution deleteChangedProperty(@NotNull @NotNull NodeBuilder parent, @NotNull @NotNull PropertyState theirs, @NotNull @NotNull PropertyState base)
theirs
changed in the persistence store while it has been
deleted locally.parent
- root of the conflicttheirs
- their version of the propertybase
- the base version of the propertyThreeWayConflictHandler.Resolution
of the conflict@NotNull @NotNull ThreeWayConflictHandler.Resolution addExistingNode(@NotNull @NotNull NodeBuilder parent, @NotNull @NotNull java.lang.String name, @NotNull @NotNull NodeState ours, @NotNull @NotNull NodeState theirs)
ours
has been added to parent
which conflicts
with node theirs
which has been added in the persistence store.parent
- root of the conflictname
- name of the nodeours
- our version of the nodetheirs
- their version of the nodeThreeWayConflictHandler.Resolution
of the conflict@NotNull @NotNull ThreeWayConflictHandler.Resolution changeDeletedNode(@NotNull @NotNull NodeBuilder parent, @NotNull @NotNull java.lang.String name, @NotNull @NotNull NodeState ours, @NotNull @NotNull NodeState base)
ours
has been changed in parent
while it was
removed in the persistence store.parent
- root of the conflictname
- name of the nodeours
- our version of the nodebase
- the base version of the nodeThreeWayConflictHandler.Resolution
of the conflict@NotNull @NotNull ThreeWayConflictHandler.Resolution deleteChangedNode(@NotNull @NotNull NodeBuilder parent, @NotNull @NotNull java.lang.String name, @NotNull @NotNull NodeState theirs, @NotNull @NotNull NodeState base)
theirs
changed in the persistence store while it has been
deleted locally.parent
- root of the conflictname
- name of the nodetheirs
- their version of the nodebase
- the base version of the nodeThreeWayConflictHandler.Resolution
of the conflict@NotNull @NotNull ThreeWayConflictHandler.Resolution deleteDeletedNode(@NotNull @NotNull NodeBuilder parent, @NotNull @NotNull java.lang.String name, @NotNull @NotNull NodeState base)
name
has been removed in parent
while it was
also removed in the persistence store.parent
- root of the conflictname
- name of the nodebase
- the base version of the nodeThreeWayConflictHandler.Resolution
of the conflictCopyright © 2010 - 2020 Adobe. All Rights Reserved