com.microsoft.tfs.core.clients.versioncontrol.conflicts.resolutions
Class ExternalConflictResolution

java.lang.Object
  extended by com.microsoft.tfs.core.clients.versioncontrol.conflicts.resolutions.ConflictResolution
      extended by com.microsoft.tfs.core.clients.versioncontrol.conflicts.resolutions.ExternalConflictResolution
All Implemented Interfaces:
com.microsoft.tfs.util.process.ProcessFinishedHandler

public class ExternalConflictResolution
extends ConflictResolution
implements com.microsoft.tfs.util.process.ProcessFinishedHandler

An ExternalConflictResolution knows how to spawn an external merge tool to do a three-way merge to attempt to resolve the conflict.

Since:
TEE-SDK-10.1

Nested Class Summary
static class ExternalConflictResolution.ExternalConflictResolver
           
 
Field Summary
 
Fields inherited from class com.microsoft.tfs.core.clients.versioncontrol.conflicts.resolutions.ConflictResolution
DefaultErrorMessage
 
Constructor Summary
ExternalConflictResolution(ConflictDescription conflictDescription, java.lang.String description, java.lang.String helpText, ConflictResolutionOptions options, ExternalToolset configuredMergeTools)
           
 
Method Summary
 void cancel()
          Cancel the conflict resolution.
 ConflictResolution newForConflictDescription(ConflictDescription conflictDescription)
           
 void processCompleted(com.microsoft.tfs.util.process.ProcessRunner runner)
           
 void processExecFailed(com.microsoft.tfs.util.process.ProcessRunner runner)
           
 void processInterrupted(com.microsoft.tfs.util.process.ProcessRunner runner)
           
 void setConflictResolver(ExternalConflictResolution.ExternalConflictResolver resolver)
          Sets the conflict resolver.
 void setEncoding(FileEncoding newEncoding)
          Sets the file encoding of the resultant merged file.
 void setNewPath(java.lang.String newPath)
          Sets the new server path of the resolved item.
 ConflictResolutionStatus work()
           
 
Methods inherited from class com.microsoft.tfs.core.clients.versioncontrol.conflicts.resolutions.ConflictResolution
addStatusListener, getConflictDescription, getConflicts, getDescription, getErrorMessage, getHelpText, getStatus, needsEncodingSelection, needsNewPath, removeStatusListener, resolveConflict, setErrorMessage, setStatus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExternalConflictResolution

public ExternalConflictResolution(ConflictDescription conflictDescription,
                                  java.lang.String description,
                                  java.lang.String helpText,
                                  ConflictResolutionOptions options,
                                  ExternalToolset configuredMergeTools)
Method Detail

newForConflictDescription

public ConflictResolution newForConflictDescription(ConflictDescription conflictDescription)
Specified by:
newForConflictDescription in class ConflictResolution

setNewPath

public void setNewPath(java.lang.String newPath)
Sets the new server path of the resolved item.

Specified by:
setNewPath in class ConflictResolution
Parameters:
newPath - The server path to the resolved item.

setEncoding

public void setEncoding(FileEncoding newEncoding)
Description copied from class: ConflictResolution
Sets the file encoding of the resultant merged file. This should be called only if ConflictResolution.needsEncodingSelection() returns true.

Specified by:
setEncoding in class ConflictResolution
Parameters:
newEncoding - The new FileEncoding

setConflictResolver

public void setConflictResolver(ExternalConflictResolution.ExternalConflictResolver resolver)
Sets the conflict resolver. This must, at minimum, call Workspace.resolveConflict(Conflict), but may do more, like lock the Eclipse workspace or set up the resource change listener to ignore updates.

Parameters:
resolver -

work

public ConflictResolutionStatus work()
                              throws java.lang.Exception
Specified by:
work in class ConflictResolution
Throws:
java.lang.Exception

cancel

public void cancel()
Description copied from class: ConflictResolution
Cancel the conflict resolution. Only makes sense for asynchronous resolutions (ie, ExternalConflictResolution)

Overrides:
cancel in class ConflictResolution

processCompleted

public void processCompleted(com.microsoft.tfs.util.process.ProcessRunner runner)
Specified by:
processCompleted in interface com.microsoft.tfs.util.process.ProcessFinishedHandler

processExecFailed

public void processExecFailed(com.microsoft.tfs.util.process.ProcessRunner runner)
Specified by:
processExecFailed in interface com.microsoft.tfs.util.process.ProcessFinishedHandler

processInterrupted

public void processInterrupted(com.microsoft.tfs.util.process.ProcessRunner runner)
Specified by:
processInterrupted in interface com.microsoft.tfs.util.process.ProcessFinishedHandler


© 2015 Microsoft. All rights reserved.