Package org.eclipse.core.commands.operations

# Interface ICompositeOperation

All Superinterfaces:
  `IUndoableOperation`

All Known Implementing Classes:
  `TriggeredOperations`

public interface ICompositeOperation extends IUndoableOperation

ICompositeOperation defines an undoable operation that is composed of child operations. Requests to execute, undo, or redo a composite result in the the execution, undo, or redo of the composite as a whole. Similarly, a request to dispose the composite should result in all child operations being disposed.

Since:
  3.1

## Method Summary

Modifier and Type
Method
Description
`void`
`add(IUndoableOperation operation)`
Add the specified operation as a child of this operation.
`void`
`remove(IUndoableOperation operation)`
Remove the specified operation from this operation.

### Methods inherited from interface org.eclipse.core.commands.operations.IUndoableOperation

`addContext, canExecute, canRedo, canUndo, dispose, execute, getContexts, getLabel, hasContext, redo, removeContext, undo`

## Method Details

### add

void add(IUndoableOperation operation)

Add the specified operation as a child of this operation.

Parameters:
  `operation` - the operation to be added. If the operation instance has already been added, this method will have no effect.

### remove

void remove(IUndoableOperation operation)

Remove the specified operation from this operation.

The composite operation should dispose the operation as part of removing it.

Parameters:
  `operation` - the operation to be removed. The operation should be disposed by the receiver. This method will have no effect if the operation instance is not already a child.