Class BmInlineTaskValue<T>

Type Parameters:
T - The model type
All Implemented Interfaces:
IAttribute<IBmObject,org.eclipse.emf.ecore.EStructuralFeature>, IEditableModel, IEmfAttribute<IBmObject>, IModel, IEmfValueAttribute<T,IBmObject>, IValue<T>, IValidable, IModelApiAwareModel

public class BmInlineTaskValue<T> extends BmValue<T>
A BM value with a supplier of custom IBmTask. This task will be used to apply changes to the model.
  • Constructor Details

    • BmInlineTaskValue

      public BmInlineTaskValue(org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EStructuralFeature feature, Function<T,IBmTask<?>> taskSupplier)
      Creates an instance of inline task BM value.
      Parameters:
      object - The object
      feature - The object's feature
      taskSupplier - The BM task supplier: a function returning a BM task from the value which is to be applied
  • Method Details

    • createTask

      protected IModelApiTaskN<Void> createTask(IBmObject object, org.eclipse.emf.ecore.EStructuralFeature feature, T valueToApply)
      Description copied from class: BmValue
      Creates an IModelApiTaskN that executes during applying changes.
      Overrides:
      createTask in class BmValue<T>
      Parameters:
      object - the object to change, cannot be null.
      feature - the feature the feature to change, cannot be null.
      valueToApply - the value to apply.
      Returns:
      the created IModelApiTaskN.