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 -
Method Summary
Modifier and TypeMethodDescriptionprotected voidfillInSupplyIfIntegratedTargets(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 IContainmentDataReferencegetContainmentDataReferenceForIntegratedReferencesOnlyTarget(ComparisonNode containerNode, String topObjectSymlink, ComparisonContext comparisonContext) Get specific reference for the containment.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 IPropertyDataReferencegetPropertyDataReferenceForIntegratedReferencesOnlyTarget(ContainmentComparisonNode targetItem, org.eclipse.emf.ecore.EStructuralFeature manyFeature, ComparisonContext comparisonContext) Get specific reference for the property.booleanhandles(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.booleanisTopObjectReference(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
-
Constructor Details
-
MdSupplyReferenceProviderComparisonDelegate
public MdSupplyReferenceProviderComparisonDelegate()
-
-
Method Details
-
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:ISupplyDataReferenceProviderComparisonDelegateDelegates the call ofIDataReferenceProvider#getContainmentReference(String, EClass, EStructuralFeature, Object...)to domain-specific implementation.- Parameters:
topObjectSymlink- Symlynk of the top object containing target containment. Cannot benulleClass- EClass of the target containment object. Cannot benulltargetFeature- Target feature of the containment, if available. Can benullcontainingFeature- The feature that contains target object. Should be supplied in case if the collection element is being addressed. Can benullcomparisonNode- The node of the comparison tree mode being the context of the reference. Cannot benullcomparisonContext- Current comparison context. Cannot benullThis 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
nullin 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:ISupplyDataReferenceProviderComparisonDelegateChecks provided EClass against the set of EClasses being handled by this delegate.- Parameters:
topObjectEClass- The top objectEClass. Can benulleClass- The targetEClass. Can benulltargetFeature- Target feature for the call. Can benullcontainingFeature- The feature that contains target object. Should be supplied in case if the collection element is being addressed. Can benull- Returns:
truein case if this delegate handles the provided EClass.falseotherwise
-
isTopObjectReference
public boolean isTopObjectReference(String topObjectSymlink, org.eclipse.emf.ecore.EClass eClass, ComparisonNode comparisonNode) Description copied from interface:ISupplyDataReferenceProviderComparisonDelegateDelegates the call ofIDataReferenceProvider#isTopObjectReference(String, EClass, Object...)- Parameters:
topObjectSymlink- Symlynk of the top object containing target containment. Cannot benulleClass- EClass of the target containment object. Cannot benullcomparisonNode- The node of the comparison tree mode being the context of the reference. Cannot benull- Returns:
trueif the context points to the top object.falseotherwise
-
fillInSupplyIfIntegratedTargets
protected void fillInSupplyIfIntegratedTargets(Set<org.eclipse.emf.ecore.EStructuralFeature> supplyIfIntegratedTargets, Set<org.eclipse.emf.ecore.EClass> supplyIfIntegratedContainers) Description copied from class:BaseSupplyDataReferenceProviderComparisonDelegateProvdes 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:
fillInSupplyIfIntegratedTargetsin classBaseSupplyDataReferenceProviderComparisonDelegate- Parameters:
supplyIfIntegratedTargets- The target set of features. The implementing side should place required features there. Cannot benullsupplyIfIntegratedContainers- 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:BaseSupplyDataReferenceProviderComparisonDelegateGet 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:
getContainmentDataReferenceForIntegratedReferencesOnlyTargetin classBaseSupplyDataReferenceProviderComparisonDelegate- Parameters:
containerNode- The node that contains target many feature. Cannot benulltopObjectSymlink- Symlynk of the top object containing target containment. Cannot benullcomparisonContext- 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:BaseSupplyDataReferenceProviderComparisonDelegateGet 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:
getPropertyDataReferenceForIntegratedReferencesOnlyTargetin classBaseSupplyDataReferenceProviderComparisonDelegate- Parameters:
targetItem- Target comparison node. Cannot benullmanyFeature- The feature that is being controlled by the "supply if integrated" policy. Cannot benullcomparisonContext- Current comparison context. Cannot benull- Returns:
- The property data reference, if found. Can be
null - See Also:
-