Sirius provides various model operations (change context, if, for, create instance, etc). This extension point allows the contribution of additional model operations.
This extension point is identified as
org.eclipse.sirius.diagram.bundledImageShape
. In this extension, there are three required fields:
The model operation manager will have to create a Sirius task from the given description of the model operation. An example is available in the plugin
org.eclipse.sirius.ui.properties
with the class
org.eclipse.sirius.ui.properties.internal.dialog.DialogModelOperationManager
.
public class DialogModelOperationManager implements IModelOperationManager { @Override public Optional<ICommandTask> createTask(ModelOperation modelOperation, ModelAccessor modelAccessor, UICallBack uiCallback, Session session, IInterpreter interpreter, CommandContext context) { if (modelOperation instanceof DialogModelOperation) { DialogModelOperation dialogModelOperation = (DialogModelOperation) modelOperation; return Optional.of(new DialogTask(context, modelAccessor, interpreter, session, dialogModelOperation)); } return Optional.empty(); } }
In this example, we will only consider the DialogModelOperation and we will return a new DialogTask used to open a dialog.