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

Interface Summary
IComputation<T>: Encapsulates the logic of a computation that can be identified by a key.
IImplicitDependencies: This interface describes the contract of providing the set of files that must be used "together with" a given file, whatever the desired semantics of "together with" is.
IResolutionContext: A resolution context provides the different elements that can be involved in a comparison taking logical models into account.
IResourceDependencyLocalResolver: A resource dependency provider is in charge of providing the dependencies of resources (local or remote resources, remote meaning hosted in git for instance).
IResourceDependencyProvider: A resource dependency provider is in charge of providing the dependencies of resources (local or remote resources, remote meaning hosted in git for instance).
IResourceDependencyRemoteResolver: A resource dependency provider is in charge of providing the dependencies of resources (local or remote resources, remote meaning hosted in git for instance).

Class Summary
AbstractMonitoredProxyCreationListener: Asbtract super-class of `IProxyCreationListener`s to use for computing the logical model.
AbstractResolution: Abstract super-class of resolving computations.
CachingImplicitDependencies: An implementation of the `IImplicitDependencies` that delegates the respective dependency calculation to a given object and caches the results to increase performance.
DefaultImplicitDependencies: Default implementation of `IImplicitDependencies`, which uses the extensions collected by the registry of the modelDependencyProvider extension point.
DefaultResolutionContext: Default implementation of `IResolutionContext`.
DependencyFoundEvent<T>: Event indicating a dependency between two resources has been found.
DependencyGraphUpdater<T>: This class's responsibility is to maintain the state of its graph when notified that a new model resource or a new dependency have been found.
DiagnosticSupport: Encapsulated a diagnostic to hide multi-threaded details.
LocalModelResolution: This will be called by Team in order to determine whether a given file can be compared alone, or if it needs to be compared along with others (and, thus, compared from the synchronize view).
LocalModelsResolution: Called by EMF Compare in order to resolve the logical models corresponding to the given IResources.
LocalMonitoredProxyCreationListener: Implementation of `IProxyCreationListener` for local resolutions.
ModelResourceListener: This will listen to workspace changes and react to all changes on "model" resources as determined by `ThreadedModelResolver#MODEL_CONTENT_TYPES`.
ModelResourceVisitor: This implementation of a resource visitor will allow us to browse a given hierarchy and resolve the models files in contains, as determined by `ThreadedModelResolver#MODEL_CONTENT_TYPES`.
ModelsResolution: Computation that resolves 2 or 3 storages (left, right and potentially origin).
RemoteMonitoredProxyCreationListener: Implementation of `IProxyCreationListener` for remote resources.
ResolutionUtil: Utility class that provides a few static methods useful for resolving.
ResolvedEvent<T>: Event that indicates that a resource that should be part of a dependency graph has been found.
ResourceComputationScheduler<T>: Class providing facilities to schedule computations and hide as much as possible the multi-threaded complexity.
ResourceComputationScheduler.CallStatus
ResourceComputationScheduler.ShutdownStatus
ResourceDependencyFoundEvent: An event indicating that a resource dependency is found.
ResourceDependencyLocalResolver: The default implementation of the `IResourceDependencyProvider`.
ResourceDependencyProvider: The default implementation of the `IResourceDependencyProvider`.
ResourceDependencyRemoteResolver: The default implementation of the `IResourceDependencyRemoteResolver`.
ResourceRemovedEvent<T>: Event indicating that model resources have been removed, which requires updating the graph of dependencies between model resources.
RevisionedURIConverter: This `URIConverter` will be used in order to fetch remote content instead of local content when loading resources.
SynchronizedResourceSet: A thread-safe implementation of a ResourceSet that will prevent loading of resources unless explicitly demanded through `SynchronizedResourceSet.loadResource(URI)`.
ThreadedModelResolver: This implementation of an `IModelResolver` will look up all of the models located in a set container level of the "starting point" (by default, the containing project) to construct the graph of dependencies between these models.

Enum Summary
CrossReferenceResolutionScope: Defines the scope for the resolution of a file's logical model.
ResourceComputationScheduler.ComputationState
ResourceComputationScheduler.ShutdownState