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

# Class DefaultResolutionContext

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

All Implemented Interfaces:
  `IResolutionContext`

public class DefaultResolutionContext extends Object implements IResolutionContext
Default implementation of `IResolutionContext`.

## Constructor Summary

Constructors
Constructor
Description
`DefaultResolutionContext(com.google.common.eventbus.EventBus eventBus, IGraph<URI> graph, DependencyGraphUpdater<URI> graphUpdater, ResourceComputationScheduler<URI> scheduler, ModelResourceListener modelResourceListener)`

## Method Summary

Modifier and Type
Method
Description
`void`
`dispose()`
Disposes resources allocated during initialization.
`IResourceDependencyProvider`
`getDependencyProvider()`
The provider of dependencies between resources / URIs
`com.google.common.eventbus.EventBus`
`getEventBus()`
The `EventBus` to use to broadcast and receive events.
`IGraph<URI>`
`getGraph()`
The graph of dependencies.
`DependencyGraphUpdater<URI>`
`getGraphUpdater()`
The graph updater, in charge of making changes to the dependency graph.
`IImplicitDependencies`
`getImplicitDependencies()`
The implicit dependencies provider.
`IResourceDependencyLocalResolver`
`getLocalResolver()`
The resolver for local resources.
`ModelResourceListener`
`getModelResourceListener()`
The listener of model resource changes.
`IResourceDependencyRemoteResolver`
`getRemoteResolver()`
The resolver for "remote" (git) resources.
`ResourceComputationScheduler<URI>`
`getScheduler()`
The scheduler used to support multi-threading.
`void`
`initialize()`
Initializes the context.

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

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

## Constructor Details

### DefaultResolutionContext

public DefaultResolutionContext(com.google.common.eventbus.EventBus eventBus, IGraph<URI> graph, DependencyGraphUpdater<URI> graphUpdater, ResourceComputationScheduler<URI> scheduler, ModelResourceListener modelResourceListener)

## Method Details

### getEventBus

public com.google.common.eventbus.EventBus getEventBus()
Description copied from interface: `IResolutionContext`
The `EventBus` to use to broadcast and receive events.

Specified by:
  `getEventBus` in interface `IResolutionContext`

### getGraph

public IGraph<URI> getGraph()
Description copied from interface: `IResolutionContext`
The graph of dependencies.

Specified by:
  `getGraph` in interface `IResolutionContext`

### getGraphUpdater

public DependencyGraphUpdater<URI> getGraphUpdater()
Description copied from interface: `IResolutionContext`
The graph updater, in charge of making changes to the dependency graph.

Specified by:
  `getGraphUpdater` in interface `IResolutionContext`

### getScheduler

public ResourceComputationScheduler<URI> getScheduler()
Description copied from interface: `IResolutionContext`
The scheduler used to support multi-threading.

Specified by:
  `getScheduler` in interface `IResolutionContext`

### getModelResourceListener

public ModelResourceListener getModelResourceListener()
Description copied from interface: `IResolutionContext`
The listener of model resource changes.

Specified by:
  `getModelResourceListener` in interface `IResolutionContext`

### getDependencyProvider

public IResourceDependencyProvider getDependencyProvider()
Description copied from interface: `IResolutionContext`
The provider of dependencies between resources / URIs

Specified by:
  `getDependencyProvider` in interface `IResolutionContext`

### getLocalResolver

public IResourceDependencyLocalResolver getLocalResolver()
Description copied from interface: `IResolutionContext`
The resolver for local resources.

Specified by:
  `getLocalResolver` in interface `IResolutionContext`

### getRemoteResolver

public IResourceDependencyRemoteResolver getRemoteResolver()
Description copied from interface: `IResolutionContext`
The resolver for "remote" (git) resources.

Specified by:
  `getRemoteResolver` in interface `IResolutionContext`

### getImplicitDependencies

public IImplicitDependencies getImplicitDependencies()
Description copied from interface: `IResolutionContext`
The implicit dependencies provider.

Specified by:
  `getImplicitDependencies` in interface `IResolutionContext`

### initialize

public void initialize()
Initializes the context. When initialized, the context will:

1. install a listener on the workspace to keep track of modified resources
2. Register its `graphUpdater` to its `eventBus`
3. initialize its `scheduler`

Specified by:
  `initialize` in interface `IResolutionContext`

### dispose

public void dispose()
Disposes resources allocated during initialization.

Specified by:
  `dispose` in interface `IResolutionContext`