Package org.eclipse.emf.compare.ide.ui.internal.logical.resolver

# Class ResourceDependencyRemoteResolver

java.lang.Object
org.eclipse.emf.compare.ide.ui.internal.logical.resolver.ResourceDependencyRemoteResolver

All Implemented Interfaces:
  `IResourceDependencyRemoteResolver`

public class ResourceDependencyRemoteResolver extends Object implements IResourceDependencyRemoteResolver
The default implementation of the `IResourceDependencyRemoteResolver`.

## Constructor Summary

Constructors
Constructor
Description
`ResourceDependencyRemoteResolver(IResolutionContext context)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`demandRemoteResolve(SynchronizedResourceSet resourceSet, URI uri, DiagnosticSupport diagnostic, ThreadSafeProgressMonitor tspm)`
Allows callers to launch the loading and resolution of the model pointed at by the given URI, without updating the
invalid reference

    #dependencyGraph

along the way.
`org.eclipse.emf.compare.ide.ui.internal.logical.resolver.RemoteResolveComputation`
`getRemoteResolveComputation(SynchronizedResourceSet resourceSet, URI uri, DiagnosticSupport diagnostic, ThreadSafeProgressMonitor tspm)`
Provides the computation to run for remote resolutions.
`SynchronizedResourceSet`
`getResourceSetForRemoteResolution(DiagnosticSupport diagnostic, ThreadSafeProgressMonitor tspm)`
Provides the resources set to use for remote resolve computations.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ResourceDependencyRemoteResolver

public ResourceDependencyRemoteResolver(IResolutionContext context)
Constructor.

Parameters:
  `context` - The context, must not be `null`

## Method Details

### demandRemoteResolve

public void demandRemoteResolve(SynchronizedResourceSet resourceSet, URI uri, DiagnosticSupport diagnostic, ThreadSafeProgressMonitor tspm)
Description copied from interface: `IResourceDependencyRemoteResolver`
Allows callers to launch the loading and resolution of the model pointed at by the given URI, without updating the
invalid reference

    #dependencyGraph

along the way.

This will check whether the given storage isn't already being resolved, then submit a job to the

invalid reference

    #resolvingPool

to load and resolve the model in a separate thread.

Specified by:
  `demandRemoteResolve` in interface `IResourceDependencyRemoteResolver`
Parameters:
  `resourceSet` - The resource set in which to load the resource.
  `uri` - The uri we are to try and load as a model.
  `diagnostic` - The diagnostic
  `tspm` - Monitor on which to report progress to the user.

### getRemoteResolveComputation

public org.eclipse.emf.compare.ide.ui.internal.logical.resolver.RemoteResolveComputation getRemoteResolveComputation(SynchronizedResourceSet resourceSet, URI uri, DiagnosticSupport diagnostic, ThreadSafeProgressMonitor tspm)
Description copied from interface: `IResourceDependencyRemoteResolver`
Provides the computation to run for remote resolutions.

Specified by:
  `getRemoteResolveComputation` in interface `IResourceDependencyRemoteResolver`
Parameters:
  `resourceSet` - The resource set
  `uri` - The URI
  `diagnostic` - The diagnostic
  `tspm` - The progress monitor
Returns:
  The computation to run in the scheduler to resolve the remote URIs.

### getResourceSetForRemoteResolution

public SynchronizedResourceSet getResourceSetForRemoteResolution(DiagnosticSupport diagnostic, ThreadSafeProgressMonitor tspm)
Description copied from interface: `IResourceDependencyRemoteResolver`
Provides the resources set to use for remote resolve computations.

Specified by:
  `getResourceSetForRemoteResolution` in interface `IResourceDependencyRemoteResolver`
Parameters:
  `diagnostic` - The diagnostic
  `tspm` - The progress monitor
Returns:
  The resource set to use for remote resolutions.