Copyright (c) 2000, 2006 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: IBM Corporation - initial API and implementation
/******************************************************************************* * Copyright (c) 2000, 2006 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/
package org.eclipse.team.core.variants; import org.eclipse.core.resources.IResource;
An IResourceVariantComparator is provided by a Subscriber and used by a SyncInfo to calculate the sync state of the workspace resources. Subscribers should provide a criteria best suited for their environment. For example, an FTP subscriber could choose to use file size or file timestamps as comparison criteria whereas a CVS workspace subscriber would use file revision numbers.
See Also:
Since:3.0
/** * An <code>IResourceVariantComparator</code> is provided by a <code>Subscriber</code> * and used by a <code>SyncInfo</code> to calculate the sync * state of the workspace resources. Subscribers should provide a criteria * best suited for their environment. For example, an FTP subscriber could choose to use file * size or file timestamps as comparison criteria whereas a CVS workspace subscriber would * use file revision numbers. * * @see org.eclipse.team.core.synchronize.SyncInfo * @see org.eclipse.team.core.subscribers.Subscriber * @since 3.0 */
public 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.
Params:
  • 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.
/** * Returns <code>true</code> if the local resource * matches the remote resource based on this criteria and <code>false</code> * otherwise. Comparing should be fast and based on cached information. * * @param local the local resource to be compared * @param remote the remote resources to be compared * @return <code>true</code> if local and remote are equal based on this criteria and <code>false</code> * otherwise. */
public boolean compare(IResource local, IResourceVariant remote);
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.
Params:
  • 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.
/** * Returns <code>true</code> if the base resource * matches the remote resource based on this criteria and <code>false</code> * otherwise. Comparing should be fast and based on cached information. * * @param base the base resource to be compared * @param remote the remote resources to be compared * @return <code>true</code> if base and remote are equal based on this criteria and <code>false</code> * otherwise. */
public boolean compare(IResourceVariant base, IResourceVariant remote);
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.
Returns:whether this comparator is three-way or two-way
/** * Answers <code>true</code> 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. * @return whether this comparator is three-way or two-way */
public boolean isThreeWay(); }