Class ThreeWayResourceComparator

  • All Implemented Interfaces:
    IResourceVariantComparator

    public class ThreeWayResourceComparator
    extends Object
    implements 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 Detail

      • ThreeWayResourceComparator

        public ThreeWayResourceComparator​(ThreeWaySynchronizer synchronizer)
        Create a three-way resource comparator that uses the ThreeWaySynchronizer to compare a local resource to a resource variant.
        Parameters:
        synchronizer -
    • Method Detail

      • compare

        public boolean compare​(IResource local,
                               IResourceVariant remote)
        Description copied from interface: IResourceVariantComparator
        Returns true if the local resource matches the remote resource based on this criteria and false otherwise. Comparing should be fast and based on cached information.
        Specified by:
        compare in interface IResourceVariantComparator
        Parameters:
        local - the local resource to be compared
        remote - the remote resources to be compared
        Returns:
        true if local and remote are equal based on this criteria and false otherwise.
      • compare

        public boolean compare​(IResourceVariant base,
                               IResourceVariant remote)
        Description copied from interface: IResourceVariantComparator
        Returns true if the base resource matches the remote resource based on this criteria and false otherwise. Comparing should be fast and based on cached information.
        Specified by:
        compare in interface IResourceVariantComparator
        Parameters:
        base - the base resource to be compared
        remote - the remote resources to be compared
        Returns:
        true if base and remote are equal based on this criteria and false otherwise.
      • isThreeWay

        public boolean isThreeWay()
        Description copied from interface: IResourceVariantComparator
        Answers true if 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:
        isThreeWay in interface IResourceVariantComparator
        Returns:
        whether this comparator is three-way or two-way