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 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: ISupplyDataReferenceProviderComparisonDelegate
      Delegates the call of IDataReferenceProvider#getContainmentReference(String, EClass, EStructuralFeature, Object...) to domain-specific implementation.
      Parameters:
      topObjectSymlink - Symlynk of the top object containing target containment. Cannot be null
      eClass - EClass of the target containment object. Cannot be null
      targetFeature - Target feature of the containment, if available. Can be null
      containingFeature - The feature that contains target object. Should be supplied in case if the collection element is being addressed. Can be null
      comparisonNode - The node of the comparison tree mode being the context of the reference. Cannot be null
      comparisonContext - Current comparison context. Cannot be null This context depends on the client logic and should be matched with the corresponding impementation of IDataReferenceProvider
      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 object EClass. Can be null
      eClass - The target EClass. Can be null
      targetFeature - Target feature for the call. Can be null
      containingFeature - The feature that contains target object. Should be supplied in case if the collection element is being addressed. Can be null
      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 of IDataReferenceProvider#isTopObjectReference(String, EClass, Object...)
      Parameters:
      topObjectSymlink - Symlynk of the top object containing target containment. Cannot be null
      eClass - EClass of the target containment object. Cannot be null
      comparisonNode - The node of the comparison tree mode being the context of the reference. Cannot be null
      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)
      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 class BaseSupplyDataReferenceProviderComparisonDelegate
      Parameters:
      supplyIfIntegratedTargets - The target set of features. The implementing side should place required features there. Cannot be null
      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 be null
    • getContainmentDataReferenceForIntegratedReferencesOnlyTarget

      protected IContainmentDataReference getContainmentDataReferenceForIntegratedReferencesOnlyTarget(ComparisonNode containerNode, String topObjectSymlink, ComparisonContext comparisonContext)
      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 class BaseSupplyDataReferenceProviderComparisonDelegate
      Parameters:
      containerNode - The node that contains target many feature. Cannot be null
      topObjectSymlink - Symlynk of the top object containing target containment. Cannot be null
      comparisonContext - Current comparison context. Cannot be null
      Returns:
      The containment data reference, if found. Can be null
    • getPropertyDataReferenceForIntegratedReferencesOnlyTarget

      protected IPropertyDataReference getPropertyDataReferenceForIntegratedReferencesOnlyTarget(ContainmentComparisonNode targetItem, org.eclipse.emf.ecore.EStructuralFeature manyFeature, ComparisonContext comparisonContext)
      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 class BaseSupplyDataReferenceProviderComparisonDelegate
      Parameters:
      targetItem - Target comparison node. Cannot be null
      manyFeature - The feature that is being controlled by the "supply if integrated" policy. Cannot be null
      comparisonContext - Current comparison context. Cannot be null
      Returns:
      The property data reference, if found. Can be null
      See Also: