Class MdSupplyReferenceProviderComparisonDelegate
- java.lang.Object
-
- com._1c.g5.v8.dt.compare.core.supply.BaseSupplyDataReferenceProviderComparisonDelegate
-
- com._1c.g5.v8.dt.md.compare.supply.MdSupplyReferenceProviderComparisonDelegate
-
- All Implemented Interfaces:
ISupplyDataReferenceProviderComparisonDelegate
public class MdSupplyReferenceProviderComparisonDelegate extends BaseSupplyDataReferenceProviderComparisonDelegate
MD Supply settings reference provider delegate. It is responsible for encoding of MD object references for supply settings model buildup.
-
-
Constructor Summary
Constructors Constructor Description MdSupplyReferenceProviderComparisonDelegate()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
fillInSupplyIfIntegratedTargets(Set<org.eclipse.emf.ecore.EStructuralFeature> supplyIfIntegratedTargets, Set<org.eclipse.emf.ecore.EClass> supplyIfIntegratedContainers)
Provdes information on features applicable for the "supply if integrated" rule.protected IContainmentDataReference
getContainmentDataReferenceForIntegratedReferencesOnlyTarget(ComparisonNode containerNode, String topObjectSymlink, ComparisonContext comparisonContext)
Get specific reference for the containment.IDataReference
getContainmentReference(String topObjectSymlink, org.eclipse.emf.ecore.EClass eClass, org.eclipse.emf.ecore.EStructuralFeature targetFeature, org.eclipse.emf.ecore.EStructuralFeature containingFeature, ComparisonNode comparisonNode, ComparisonContext comparisonContext)
Delegates the call ofIDataReferenceProvider#getContainmentReference(String, EClass, EStructuralFeature, Object...)
to domain-specific implementation.protected IPropertyDataReference
getPropertyDataReferenceForIntegratedReferencesOnlyTarget(ContainmentComparisonNode targetItem, org.eclipse.emf.ecore.EStructuralFeature manyFeature, ComparisonContext comparisonContext)
Get specific reference for the property.boolean
handles(org.eclipse.emf.ecore.EClass topObjectEClass, org.eclipse.emf.ecore.EClass eClass, org.eclipse.emf.ecore.EStructuralFeature targetFeature, org.eclipse.emf.ecore.EStructuralFeature containingFeature)
Checks provided EClass against the set of EClasses being handled by this delegate.boolean
isTopObjectReference(String topObjectSymlink, org.eclipse.emf.ecore.EClass eClass, ComparisonNode comparisonNode)
Delegates the call ofIDataReferenceProvider#isTopObjectReference(String, EClass, Object...)
-
Methods inherited from class com._1c.g5.v8.dt.compare.core.supply.BaseSupplyDataReferenceProviderComparisonDelegate
tryToFindIntegratedReferencesOnlyTarget
-
-
-
-
Method Detail
-
getContainmentReference
public IDataReference getContainmentReference(String topObjectSymlink, org.eclipse.emf.ecore.EClass eClass, org.eclipse.emf.ecore.EStructuralFeature targetFeature, org.eclipse.emf.ecore.EStructuralFeature containingFeature, ComparisonNode comparisonNode, ComparisonContext comparisonContext)
Description copied from interface:ISupplyDataReferenceProviderComparisonDelegate
Delegates the call ofIDataReferenceProvider#getContainmentReference(String, EClass, EStructuralFeature, Object...)
to domain-specific implementation.- Parameters:
topObjectSymlink
- Symlynk of the top object containing target containment. Cannot benull
eClass
- EClass of the target containment object. Cannot benull
targetFeature
- Target feature of the containment, if available. Can benull
containingFeature
- The feature that contains target object. Should be supplied in case if the collection element is being addressed. Can benull
comparisonNode
- The node of the comparison tree mode being the context of the reference. Cannot benull
comparisonContext
- Current comparison context. Cannot benull
This context depends on the client logic and should be matched with the corresponding impementation ofIDataReferenceProvider
- Returns:
- The encoded reference of one of standard types. Can be
null
in case if the client integration doesn't support this type of the context for direct referencing from supply settings
-
handles
public boolean handles(org.eclipse.emf.ecore.EClass topObjectEClass, org.eclipse.emf.ecore.EClass eClass, org.eclipse.emf.ecore.EStructuralFeature targetFeature, org.eclipse.emf.ecore.EStructuralFeature containingFeature)
Description copied from interface:ISupplyDataReferenceProviderComparisonDelegate
Checks provided EClass against the set of EClasses being handled by this delegate.- Parameters:
topObjectEClass
- The top objectEClass
. Can benull
eClass
- The targetEClass
. Can benull
targetFeature
- Target feature for the call. Can benull
containingFeature
- The feature that contains target object. Should be supplied in case if the collection element is being addressed. Can benull
- Returns:
true
in case if this delegate handles the provided EClass.false
otherwise
-
isTopObjectReference
public boolean isTopObjectReference(String topObjectSymlink, org.eclipse.emf.ecore.EClass eClass, ComparisonNode comparisonNode)
Description copied from interface:ISupplyDataReferenceProviderComparisonDelegate
Delegates the call ofIDataReferenceProvider#isTopObjectReference(String, EClass, Object...)
- Parameters:
topObjectSymlink
- Symlynk of the top object containing target containment. Cannot benull
eClass
- EClass of the target containment object. Cannot benull
comparisonNode
- The node of the comparison tree mode being the context of the reference. Cannot benull
- Returns:
true
if the context points to the top object.false
otherwise
-
fillInSupplyIfIntegratedTargets
protected void fillInSupplyIfIntegratedTargets(Set<org.eclipse.emf.ecore.EStructuralFeature> supplyIfIntegratedTargets, Set<org.eclipse.emf.ecore.EClass> supplyIfIntegratedContainers)
Description copied from class:BaseSupplyDataReferenceProviderComparisonDelegate
Provdes information on features applicable for the "supply if integrated" rule. This features will participate in the reference resolving/integration process. All other features will be ignored by this deelgate.- Overrides:
fillInSupplyIfIntegratedTargets
in classBaseSupplyDataReferenceProviderComparisonDelegate
- Parameters:
supplyIfIntegratedTargets
- The target set of features. The implementing side should place required features there. Cannot benull
supplyIfIntegratedContainers
- The set of feature container targets. Limits the processing of target features by features belonging to containers of specified types. Only direct holders of the feature are supported. This filter is used to limit processing of common features (like types). Cannot benull
-
getContainmentDataReferenceForIntegratedReferencesOnlyTarget
protected IContainmentDataReference getContainmentDataReferenceForIntegratedReferencesOnlyTarget(ComparisonNode containerNode, String topObjectSymlink, ComparisonContext comparisonContext)
Description copied from class:BaseSupplyDataReferenceProviderComparisonDelegate
Get specific reference for the containment. This method could be implemented by descendants to provide references to the containments that contains the property that should be controlled during the library integration.- Overrides:
getContainmentDataReferenceForIntegratedReferencesOnlyTarget
in classBaseSupplyDataReferenceProviderComparisonDelegate
- Parameters:
containerNode
- The node that contains target many feature. Cannot benull
topObjectSymlink
- Symlynk of the top object containing target containment. Cannot benull
comparisonContext
- Current comparison context. Cannot benull
- Returns:
- The containment data reference, if found. Can be
null
-
getPropertyDataReferenceForIntegratedReferencesOnlyTarget
protected IPropertyDataReference getPropertyDataReferenceForIntegratedReferencesOnlyTarget(ContainmentComparisonNode targetItem, org.eclipse.emf.ecore.EStructuralFeature manyFeature, ComparisonContext comparisonContext)
Description copied from class:BaseSupplyDataReferenceProviderComparisonDelegate
Get specific reference for the property. This method could be implemented by descendants to provide references to the properties that should be controlled during the library integration.- Overrides:
getPropertyDataReferenceForIntegratedReferencesOnlyTarget
in classBaseSupplyDataReferenceProviderComparisonDelegate
- Parameters:
targetItem
- Target comparison node. Cannot benull
manyFeature
- The feature that is being controlled by the "supply if integrated" policy. Cannot benull
comparisonContext
- Current comparison context. Cannot benull
- Returns:
- The property data reference, if found. Can be
null
- See Also:
BaseSupplyDataReferenceProviderComparisonDelegate.tryToFindIntegratedReferencesOnlyTarget(java.lang.String, com._1c.g5.v8.dt.compare.model.ComparisonNode, org.eclipse.emf.ecore.EStructuralFeature, com._1c.g5.v8.dt.compare.core.ComparisonContext)
-
-