Eclipse Platform
Release 3.2

org.eclipse.team.ui.mapping
Interface ISynchronizationCompareAdapter

All Known Subinterfaces:
ICompareAdapter
All Known Implementing Classes:
AbstractCompareAdapter, SynchronizationCompareAdapter

public interface ISynchronizationCompareAdapter

The compare adapter provides compare support for the model objects associated with a model provider.

Clients should not implement this interface but should subclass SynchronizationCompareAdapter instead.

EXPERIMENTAL. This class or interface has been added as part of a work in progress. There is a guarantee neither that this API will work nor that it will remain the same. Please do not use this API without consulting with the Platform/Team team.

Since:
3.2

Method Summary
 ICompareInput asCompareInput(ISynchronizationContext context, Object o)
          Return a compare input for the given model object.
 long countFor(ISynchronizationContext context, int state, int mask)
          Return the number of out-of-sync elements in the given context whose synchronization state matches the given mask.
 IPath getFullPath(org.eclipse.core.resources.mapping.ResourceMapping mapping)
          Get the path associated with the model object of the given mapping.
 String getName(org.eclipse.core.resources.mapping.ResourceMapping mapping)
          Get the name associated with the model object of the given mapping.
 boolean hasCompareInput(ISynchronizationContext context, Object object)
          Return whether their is a compare input associated with the given object.
 org.eclipse.core.resources.mapping.ResourceMapping[] restore(IMemento memento)
          Restore the previosuly saved resource mappings.
 void save(org.eclipse.core.resources.mapping.ResourceMapping[] mappings, IMemento memento)
          Save the given resource mappings from this adapters model provider into the given memento in a form that can be restored at a future time.
 

Method Detail

hasCompareInput

public boolean hasCompareInput(ISynchronizationContext context,
                               Object object)
Return whether their is a compare input associated with the given object. In otherwords, return true if asCompareInput(ISynchronizationContext, Object) would return a value and false if it would return null.

Parameters:
context - the synchronization context
object - the object.
Returns:
whether their is a compare input associated with the given object

asCompareInput

public ICompareInput asCompareInput(ISynchronizationContext context,
                                    Object o)
Return a compare input for the given model object. Creation of the input should be fast. Synchronization information calculations that are longer running should be performed up front in the #prepareContext(ISynchronizationContext, IProgressMonitor) method. Clients should call this method once per context before obtaining any compare inputs from the adapter. A null should be returned if the model object is in-sync or otherwise cannot be compared.

Model paroviders can choose to return an instance of IModelCompareInput if they wish to tailor the compare editor used to show the compare input of provide an ISaveableCompareModel in order to have more contol over the save lifecycle during a merge.

Parameters:
context - the synchronization context
o - the model object
Returns:
a compare input or null if the model object is in-sync or otherwise cannot be compared.

countFor

public long countFor(ISynchronizationContext context,
                     int state,
                     int mask)
Return the number of out-of-sync elements in the given context whose synchronization state matches the given mask. A state of 0 assumes a count of all changes. A mask of 0 assumes a direct match of the given state. This method is used to determine if there are changes of interest in the given context. Implementations can obtain the count from the diff tree of the context using IDiffTree.countFor(int, int) or perform the calculation themselves.

For example, this will return the number of outgoing changes in the set:

  long outgoing =  countFor(context, IThreeWayDiff.OUTGOING, IThreeWayDiff.DIRECTION_MASK);
 

Parameters:
context - the synchronization context
state - the sync state
mask - the sync state mask
Returns:
the number of matching resources in the set.

getName

public String getName(org.eclipse.core.resources.mapping.ResourceMapping mapping)
Get the name associated with the model object of the given mapping. This name sould be suitable for display to the user.

Parameters:
mapping - the mapping
Returns:
the name of the mapping's model object

getFullPath

public IPath getFullPath(org.eclipse.core.resources.mapping.ResourceMapping mapping)
Get the path associated with the model object of the given mapping. Ths path sould be suitable for display to the user.

Parameters:
mapping - the mapping
Returns:
the path of the model object of the mapping

save

public void save(org.eclipse.core.resources.mapping.ResourceMapping[] mappings,
                 IMemento memento)
Save the given resource mappings from this adapters model provider into the given memento in a form that can be restored at a future time.

Parameters:
mappings - the resource mappings to save
memento - the memento where the mappings should be saved

restore

public org.eclipse.core.resources.mapping.ResourceMapping[] restore(IMemento memento)
Restore the previosuly saved resource mappings.

Parameters:
memento - a memento
Returns:
the mappings restored from the given memento

Eclipse Platform
Release 3.2

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.