Interface IDerivedDataPartComputer

    • Method Detail

      • computeForRemovedObject

        default void computeForRemovedObject​(long bmObjectId,
                                             org.eclipse.emf.ecore.EClass objectEClass,
                                             IPartBasedObjectContext context,
                                             IBmModel bmModel,
                                             org.eclipse.core.runtime.IProgressMonitor progressMonitor)
        Computes part of the given object derived data for a removed/non-existing object
        Parameters:
        bmObjectId -
        objectEClass -
        context - The context of the DD computation. May not be null
        progressMonitor - Controls the computation of the derived data. Cannot be null
      • compute

        default void compute​(IBmObject bmObject,
                             IPartBasedObjectContext context,
                             org.eclipse.core.runtime.IProgressMonitor progressMonitor)
        Computes part of the given object derived data.
        Parameters:
        bmObject - Context of the derived data computing. Cannot be null
        context - The context of the DD computation. May not be null
        progressMonitor - Controls the computation of the derived data. Cannot be null
      • getSupportedPartId

        String getSupportedPartId()
        Gets the identifier of the part supported by this computer.
        Returns:
        The unique identifier of the supported part.
      • isSeparateContainmentContextComputation

        default boolean isSeparateContainmentContextComputation()
        States if the computer performs separate calls of compute(IBmObject, IPartBasedObjectContext, IProgressMonitor) for each scheduled containment or use a single call for a context. This flag could be used to perform specific computations which require managed order of the computation for scheduled objects. By default this flag is set to true.
        Returns:
        True if containments are computed within the separate computation calls