Package com._1c.g5.v8.derived.context
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 thePartBasedObjectContext
based on the DD part concept. Each DD part corresponds to a single DD calculation procedure performed by a complex DD part computer.
-
-
Constructor Summary
Constructors Constructor Description PartBasedObjectContext(long bmObjectId, org.eclipse.emf.ecore.EClass eClass, String segmentId, Object computationCause)
Creates a new instance of the context.PartBasedObjectContext(Object objectId, org.eclipse.emf.ecore.EClass eClass, String segmentId, Object computationCause)
Creates a new instance of the context.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addParts(String... parts)
void
addParts(Collection<String> parts)
Adds new DD parts to the context.protected void
clearExtendedData()
Cleans extended data of the context on full rebuild to free the resourcesprotected void
copyExtendedDataForContainments(PartBasedContainmentContext sourceContext, PartBasedContainmentContext destinationContext)
Copies extended data of the containment contextprotected PartBasedContainmentContext
createPartBasedContainmentContext(long bmObjectId, org.eclipse.emf.ecore.EClass eClass)
Creates a corresponding part-based containment context.PartBasedContainmentContext
getContainmentContext(long bmObjectId, org.eclipse.emf.ecore.EClass eClass)
Gets context for the containment object.PartBasedContainmentContext
getContainmentContext(IBmObject bmObject)
Gets context for the containment object.Collection<PartBasedContainmentContext>
getContainmentContexts()
Gets the collection containment contexts associated with this context.Set<String>
getParts()
Gets the set of DD parts being collected within this context.void
loadData(IContextDataInput dataInput)
Loads previously stored data into this contextprotected boolean
mergeContainmentExtendedDataUpdates(PartBasedContainmentContext sourceContext, PartBasedContainmentContext destinationContext)
Merges the containment context extended dataprotected boolean
mergeExtendedDataUpdates(IObjectDerivedDataContext context)
Merges extended data updates.boolean
mergeUpdates(IObjectDerivedDataContext context)
Merges updates into the context.void
saveData(IContextDataOutput dataOutput)
Saves data of this context to an external storagevoid
setFullRebuild(boolean fullRebuild)
Sets/resets the full rebuild designator for the context object DD.-
Methods inherited from class com._1c.g5.v8.derived.context.BasicObjectContext
getBmObjectId, getComputationCause, getEClass, getObjectId, getSegmentId, getTransactionHandle, getVersion, isFullRebuild, setTransactionHandle, setVersion
-
-
-
-
Constructor Detail
-
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 toeClass
- The EClass of the of the top BM object this context corresponds tosegmentId
- The identifier of DD segment this context belongs tocomputationCause
- 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 toeClass
- The EClass of the of the top BM object this context corresponds tosegmentId
- The identifier of DD segment this context belongs tocomputationCause
- The identifier of the sync. session
-
-
Method Detail
-
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
- TheEClass
of an object. May not benull
- 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 interfaceIPartBasedObjectContext
- 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 interfaceIObjectDerivedDataContext
- Parameters:
context
- The source of updates. Cannot benull
.
-
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 interfaceIObjectDerivedDataContext
- Overrides:
setFullRebuild
in classBasicObjectContext
- 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 benull
destinationContext
- Destination context to copy data to. May not benull
-
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 benull
destinationContext
- The destination containment context. May not benull
- 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 benull
- 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 interfaceIObjectDerivedDataContext
- Parameters:
dataOutput
- The output stream to write data into. May not benull
- 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 interfaceIObjectDerivedDataContext
- Throws:
IOException
-
-