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
`DefaultResolutionContext​(com.google.common.eventbus.EventBus eventBus, IGraph<URI> graph, DependencyGraphUpdater<URI> graphUpdater, ResourceComputationScheduler<URI> scheduler, ModelResourceListener modelResourceListener)`

### Method Summary

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

#### DefaultResolutionContext

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

### Method Detail

#### 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`