Class PartBasedObjectContext

java.lang.Object
com._1c.g5.v8.derived.context.BasicObjectContext
com._1c.g5.v8.derived.context.PartBasedObjectContext
All Implemented Interfaces:
IObjectDerivedDataContext, IPartBasedObjectContext
Direct Known Subclasses:
FormExtContext, ModelUpdaterContext

public class PartBasedObjectContext extends BasicObjectContext implements IPartBasedObjectContext
Standard implementation of the PartBasedObjectContext based on the DD part concept. Each DD part corresponds to a single DD calculation procedure performed by a complex DD part computer.
  • Constructor Details

    • PartBasedObjectContext

      public PartBasedObjectContext(long bmObjectId, org.eclipse.emf.ecore.EClass eClass, String segmentId, Object computationCause)
      Creates a new instance of the context.
      Parameters:
      bmObjectId - The identifier of the top BM object this context corresponds to
      eClass - The EClass of the of the top BM object this context corresponds to
      segmentId - The identifier of DD segment this context belongs to
      computationCause - The identifier of the sync. session
    • PartBasedObjectContext

      public PartBasedObjectContext(Object objectId, org.eclipse.emf.ecore.EClass eClass, String segmentId, Object computationCause)
      Creates a new instance of the context.
      Parameters:
      bmObjectId - The identifier of the top BM object this context corresponds to
      eClass - The EClass of the of the top BM object this context corresponds to
      segmentId - The identifier of DD segment this context belongs to
      computationCause - The identifier of the sync. session
  • Method Details

    • addParts

      public void addParts(Collection<String> parts)
      Adds new DD parts to the context.
      Parameters:
      parts - The DD part set that should be calculated for the object.
    • addParts

      public void addParts(String... parts)
    • getContainmentContext

      public PartBasedContainmentContext getContainmentContext(IBmObject bmObject)
      Gets context for the containment object.
      Parameters:
      bmObject - The object to get context for.
      Returns:
      The specific containment context.
    • getContainmentContext

      public PartBasedContainmentContext getContainmentContext(long bmObjectId, org.eclipse.emf.ecore.EClass eClass)
      Gets context for the containment object.
      Parameters:
      bmObjectId - The BM object identifier to get context for.
      eClass - The EClass of an object. May not be null
      Returns:
      The specific containment context.
    • getContainmentContexts

      public Collection<PartBasedContainmentContext> getContainmentContexts()
      Gets the collection containment contexts associated with this context.
      Returns:
      The collection of containment contexts.
    • getParts

      public Set<String> getParts()
      Description copied from interface: IPartBasedObjectContext
      Gets the set of DD parts being collected within this context.
      Specified by:
      getParts in interface IPartBasedObjectContext
      Returns:
      The set of DD parts scheduled for the re-computation.
    • mergeUpdates

      public boolean mergeUpdates(IObjectDerivedDataContext context)
      Description copied from interface: IObjectDerivedDataContext
      Merges updates into the context. The base version of this context is being updated according to the verison of the provided context
      Specified by:
      mergeUpdates in interface IObjectDerivedDataContext
      Parameters:
      context - The source of updates. Cannot be null.
    • setFullRebuild

      public void setFullRebuild(boolean fullRebuild)
      Description copied from interface: IObjectDerivedDataContext
      Sets/resets the full rebuild designator for the context object DD.
      Specified by:
      setFullRebuild in interface IObjectDerivedDataContext
      Overrides:
      setFullRebuild in class BasicObjectContext
      Parameters:
      fullRebuild - Full rebuild flag.
    • clearExtendedData

      protected void clearExtendedData()
      Cleans extended data of the context on full rebuild to free the resources
    • copyExtendedDataForContainments

      protected void copyExtendedDataForContainments(PartBasedContainmentContext sourceContext, PartBasedContainmentContext destinationContext)
      Copies extended data of the containment context
      Parameters:
      sourceContext - Source context to copy data from. May not be null
      destinationContext - Destination context to copy data to. May not be null
    • createPartBasedContainmentContext

      protected PartBasedContainmentContext createPartBasedContainmentContext(long bmObjectId, org.eclipse.emf.ecore.EClass eClass)
      Creates a corresponding part-based containment context. May be used to customize containment contexts in client applications
      Parameters:
      bmObjectId - The BM object identifier to get context for.
      Returns:
      The context. May not be null
    • mergeContainmentExtendedDataUpdates

      protected boolean mergeContainmentExtendedDataUpdates(PartBasedContainmentContext sourceContext, PartBasedContainmentContext destinationContext)
      Merges the containment context extended data
      Parameters:
      sourceContext - The source containment context. May not be null
      destinationContext - The destination containment context. May not be null
      Returns:
      True if there are changes in the destination context as a result of merge
    • mergeExtendedDataUpdates

      protected boolean mergeExtendedDataUpdates(IObjectDerivedDataContext context)
      Merges extended data updates.
      Parameters:
      context - The context to get data from. May not be null
      Returns:
      True if changes were made during the merge of the extended updates
    • saveData

      public void saveData(IContextDataOutput dataOutput) throws IOException
      Description copied from interface: IObjectDerivedDataContext
      Saves data of this context to an external storage
      Specified by:
      saveData in interface IObjectDerivedDataContext
      Parameters:
      dataOutput - The output stream to write data into. May not be null
      Throws:
      IOException
    • loadData

      public void loadData(IContextDataInput dataInput) throws IOException
      Description copied from interface: IObjectDerivedDataContext
      Loads previously stored data into this context
      Specified by:
      loadData in interface IObjectDerivedDataContext
      Throws:
      IOException