org.eclipse.emf.compare.ide.ui.logical

## Class CompoundModelMinimizer

- java.lang.Object
- - org.eclipse.emf.compare.ide.ui.logical.CompoundModelMinimizer

All Implemented Interfaces:
  IModelMinimizer

    public class CompoundModelMinimizer
    extends Object
    implements IModelMinimizer

This class encapsulates a list of model minimizers and propagates any calls to each element in the list.

Since:
  4.4

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.eclipse.emf.compare.ide.ui.logical.IModelMinimizer

`IModelMinimizer.Registry`

### Field Summary

Fields
`protected List<IModelMinimizer>` `minimizers` The list of model minimizers.

### Constructor Summary

Constructors
Constructor and Description
`CompoundModelMinimizer(IModelMinimizer... minimizers)` Creates a new compound model minimizer with the given minimizers.
`CompoundModelMinimizer(List<IModelMinimizer> minimizers)` Creates a new compound model minimizer with the given minimizers.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `minimize(org.eclipse.core.resources.IFile file, SynchronizationModel syncModel, org.eclipse.core.runtime.IProgressMonitor monitor)` This will be called to reduce the number of resources in this model's traversals based on the given starting point of the left logical model.
`void` `minimize(SynchronizationModel syncModel, org.eclipse.core.runtime.IProgressMonitor monitor)` This will be called to reduce the number of resources in this model's traversals.

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

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

### Field Detail

#### minimizers

    protected List<IModelMinimizer> minimizers

The list of model minimizers.

### Constructor Detail

#### CompoundModelMinimizer

    public CompoundModelMinimizer(IModelMinimizer... minimizers)

Creates a new compound model minimizer with the given minimizers.

Parameters:
  `minimizers` - model minimizers

#### CompoundModelMinimizer

    public CompoundModelMinimizer(List<IModelMinimizer> minimizers)

Creates a new compound model minimizer with the given minimizers.

Parameters:
  `minimizers` - model minimizers

### Method Detail

#### minimize

    public void minimize(SynchronizationModel syncModel,
                         org.eclipse.core.runtime.IProgressMonitor monitor)

This will be called to reduce the number of resources in this model's traversals. Specifically, this minimizers propagates the call to all encapsulated minimizers.

Specified by:
  `minimize` in interface `IModelMinimizer`
Parameters:
  `syncModel` - The synchronization model to be minimized.
  `monitor` - Monitor on which to report progress to the user.

#### minimize

    public void minimize(org.eclipse.core.resources.IFile file,
                         SynchronizationModel syncModel,
                         org.eclipse.core.runtime.IProgressMonitor monitor)

This will be called to reduce the number of resources in this model's traversals based on the given starting point of the left logical model. Specifically, this minimizers propagates the call to all encapsulated minimizers.

Specified by:
  `minimize` in interface `IModelMinimizer`
Parameters:
  `file` - The file that has been used as the starting point to resolve the left logical model.
  `syncModel` - The synchronization model to be minimized.
  `monitor` - Monitor on which to report progress to the user.