Package org.eclipse.team.core.variants
Class ThreeWayResourceComparator
java.lang.Object
org.eclipse.team.core.variants.ThreeWayResourceComparator
- All Implemented Interfaces:
IResourceVariantComparator
A resource comparator that uses the
ThreeWaySynchronizer
to compare local resources to their resource variants. The local state
is determined using the local modification state and the remote state
is determined by comparing the base bytes to the remote bytes obtained
from the synchronizer.- Since:
- 3.0
-
Constructor Summary
ConstructorsConstructorDescriptionThreeWayResourceComparator(ThreeWaySynchronizer synchronizer) Create a three-way resource comparator that uses theThreeWaySynchronizerto compare a local resource to a resource variant. -
Method Summary
Modifier and TypeMethodDescriptionbooleancompare(IResource local, IResourceVariant remote) Returnstrueif the local resource matches the remote resource based on this criteria andfalseotherwise.booleancompare(IResourceVariant base, IResourceVariant remote) Returnstrueif the base resource matches the remote resource based on this criteria andfalseotherwise.booleanAnswerstrueif the base tree is maintained by this comparator's subscriber.
-
Constructor Details
-
ThreeWayResourceComparator
Create a three-way resource comparator that uses theThreeWaySynchronizerto compare a local resource to a resource variant.- Parameters:
synchronizer- The synchronizer to use.
-
-
Method Details
-
compare
Description copied from interface:IResourceVariantComparatorReturnstrueif the local resource matches the remote resource based on this criteria andfalseotherwise. Comparing should be fast and based on cached information.- Specified by:
comparein interfaceIResourceVariantComparator- Parameters:
local- the local resource to be comparedremote- the remote resources to be compared- Returns:
trueif local and remote are equal based on this criteria andfalseotherwise.
-
compare
Description copied from interface:IResourceVariantComparatorReturnstrueif the base resource matches the remote resource based on this criteria andfalseotherwise. Comparing should be fast and based on cached information.- Specified by:
comparein interfaceIResourceVariantComparator- Parameters:
base- the base resource to be comparedremote- the remote resources to be compared- Returns:
trueif base and remote are equal based on this criteria andfalseotherwise.
-
isThreeWay
public boolean isThreeWay()Description copied from interface:IResourceVariantComparatorAnswerstrueif the base tree is maintained by this comparator's subscriber. If the base tree is not considered than the subscriber can be considered as not supported three-way comparisons. Instead comparisons are made between the local and remote only without consideration for the base.- Specified by:
isThreeWayin interfaceIResourceVariantComparator- Returns:
- whether this comparator is three-way or two-way
-