Interface IBmEditingContext

All Known Subinterfaces:
IBmGlobalEditingContext, IBmLocalEditingContext
All Known Implementing Classes:
CmiLocalEditingContext, GlobalEditingContext, LocalEditingContext, V8Commands.NoTransactionEditingContext, V8Commands.ReadOnlyEditingContextWrapper

public interface IBmEditingContext
The interface that represents the editing context. It is a high-level way to manipulate IBmTasks.

The editing context is managed by the IBmModel instance. Once the editing context is created by the manager, it can be used for executing user-defined IBmTasks with a execute(IBmTask).

See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> T
    execute(IBmTask<T> task)
    Executes the given task.
    Gets the corresponding model.
  • Method Details

    • execute

      <T> T execute(IBmTask<T> task)

      Executes the given task.

      • If the task execution causes the transaction deadlock (throw BmDeadlockDetectedException), the transaction is rolled back, and the task executed again.
      • If after certain amount of retries the task still fails to execute without deadlock, an exception is thrown.
      • If the task throws any exception other than BmDeadlockDetectedException it is re-thrown.
      Parameters:
      task - The task to execute. May be null.
      Returns:
      the result returned by IBmTask.execute(IBmTransaction, IProgressMonitor) method.
    • getModel

      IBmModel getModel()
      Gets the corresponding model.
      Returns:
      the corresponding model.