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 and Description
`ResourceDependencyRemoteResolver(IResolutionContext context)` Constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`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 `#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 Detail

#### ResourceDependencyRemoteResolver

    public ResourceDependencyRemoteResolver(IResolutionContext context)

Constructor.

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

### Method Detail

#### 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 `#dependencyGraph` along the way.

This will check whether the given storage isn't already being resolved, then submit a job to the `#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.