Class ContextCollector

java.lang.Object
com._1c.g5.v8.internal.derived.context.ContextCollector
All Implemented Interfaces:
IContextCollector

public class ContextCollector extends Object implements IContextCollector
Standard implementation of IContextCollector interface. Relies on part-based contexts.
  • Constructor Details

    • ContextCollector

      public ContextCollector(org.eclipse.emf.ecore.EClass supportedType, ICaseSpecificContextCollector onObjectAssociationContextCollector, ICaseSpecificContextCollector onFullRebuildContextCollector, Map<org.eclipse.emf.ecore.EStructuralFeature,ICaseSpecificContextCollector> onFeatureChangeContextCollectors, ICaseSpecificContextCollector onBinaryAttachmentContextCollector)
      Constructs a new instance, performs basic initialization.
      Parameters:
      supportedType - the supported BM object type
      onObjectAssociationContextCollector - the scope collector to use to define the scope of computations on object association
      onFullRebuildContextCollector - the scope collector to use during the full rebuild scope collecting operations
      onFeatureChangeContextCollectors - a map, where keys are the features change of which provokes derived data computation and values are the collectors used to defined the scope of computations
      onBinaryAttachmentContextCollector - the scope collector to use during the binary attachment change operations
  • Method Details

    • collectContextOnFeatureChange

      public void collectContextOnFeatureChange(IBmObject bmObject, org.eclipse.emf.ecore.EStructuralFeature feature, BmSubEvent bmEvent, IContextCollectingSession contextSession)
      Description copied from interface: IContextCollector
      Provides the scope of computations in case of the BM object change.
      Note that, if the type of the BM object is not supported, an exception will be thrown.
      Specified by:
      collectContextOnFeatureChange in interface IContextCollector
      Parameters:
      bmObject - the BM object that has been changed
      feature - the feature of the BM object that has been changed. Can be null in case of FQN changes
      bmEvent - the event that has been fired by BM in response to the change
      contextSession - Session of the context collection being used to access object contexts.
    • collectContextOnFullRebuild

      public void collectContextOnFullRebuild(IBmObject bmObject, IContextCollectingSession contextSession)
      Description copied from interface: IContextCollector
      Gathers full rebuild scope. Usually it's the object itself, but in some cases it's necessary to affect other DDs of other objects.
      Specified by:
      collectContextOnFullRebuild in interface IContextCollector
      Parameters:
      bmObject - The object to collect full rebuild context for.
      contextSession - Session of the context collection being used to access object contexts.
    • collectContextOnObjectAssociation

      public void collectContextOnObjectAssociation(IBmObject bmObject, BmSubEvent bmEvent, IContextCollectingSession contextSession)
      Description copied from interface: IContextCollector
      Provides the scope of computations in case of the BM object change.
      Note that, if the type of the BM object is not supported, an exception will be thrown.
      Specified by:
      collectContextOnObjectAssociation in interface IContextCollector
      Parameters:
      bmObject - the BM object that has been associated
      bmEvent - the event that has been fired by BM in response to the association
      contextSession - Session of the context collection being used to access object contexts.
    • fullRebuildScope

      public String[] fullRebuildScope()
      Description copied from interface: IContextCollector
      Gets the full rebuild scope provided by this collector.
      Specified by:
      fullRebuildScope in interface IContextCollector
      Returns:
      Array of DD segments that participate in the full rebuild procedure using this collector. Can be empty or null in case if this collector isn't participating in the rebuild.
    • getSupportedType

      public org.eclipse.emf.ecore.EClass getSupportedType()
      Description copied from interface: IContextCollector
      Gets the type of the BM object this collector supports.
      Specified by:
      getSupportedType in interface IContextCollector
      Returns:
      The type of supported BM object.