Class AbstractMdAwareComparisonParticipant
- java.lang.Object
- 
- com._1c.g5.v8.dt.compare.participant.AbstractEmfBasedComparisonParticipant
- 
- com._1c.g5.v8.dt.md.compare.participant.AbstractMdAwareComparisonParticipant
 
 
- 
- All Implemented Interfaces:
- IComparisonParticipant
 
 public abstract class AbstractMdAwareComparisonParticipant extends AbstractEmfBasedComparisonParticipant Abstract MD aware comparison participant.
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class com._1c.g5.v8.dt.compare.participant.AbstractEmfBasedComparisonParticipantAbstractEmfBasedComparisonParticipant.BmIdsWrapper, AbstractEmfBasedComparisonParticipant.EObjectClassFeatures
 
- 
 - 
Field SummaryFields Modifier and Type Field Description protected IBmModelManagerbmModelManagerprotected static PatternINVALID_SYMLINK_PATTERNprotected static booleanLOGGINGprotected org.eclipse.xtext.naming.IQualifiedNameProviderqualifiedNameProviderprotected static CharacterSYMLINK_SEPARATOR- 
Fields inherited from class com._1c.g5.v8.dt.compare.participant.AbstractEmfBasedComparisonParticipantLOG_TYPES, pictureManager, projectFileSystemSupportProvider, qualifiedNameFilePathConverter, scopeProvider, topObjectFqnGenerator
 
- 
 - 
Constructor SummaryConstructors Modifier Constructor Description protectedAbstractMdAwareComparisonParticipant()Creates new participant instance with default comparison nodes factory.protectedAbstractMdAwareComparisonParticipant(ComparisonNodeFactory nodeFactory)Creates new participant instance with specific comparison nodes factory.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanareDifferentEClassObjectsMergeable(org.eclipse.emf.ecore.EObject main, org.eclipse.emf.ecore.EObject other, ComparisonContext comparisonContext)protected ComparisonFlagscompareEmfObject(TopComparisonNode topParent, LazyNodeProvider<? extends ComparisonNode> nodeProvider, AbstractComparedEmfObjects<?> comparingObject, AbstractEmfBasedComparisonParticipant.BmIdsWrapper childBmIds, ComparisonContext comparisonContext)protected StringextractTopLink(String symlink)protected IEmfObjectMatchergetCustomMatcher(TopComparisonNode topNode, org.eclipse.emf.ecore.EReference reference, ComparisonContext objectContext)Returns a custom matcher for the specified reference.MergeRulegetDefaultMergeRule(ComparisonNode node, IComparisonSession session)Returns the default merge rule for the given node.protected StringgetExternalPropertyQualifyingType(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EReference externalProperty)Returns the EClass of the specified external property of the specified EObject.protected StringgetExternalPropertySymlink(TopComparisonNode node, org.eclipse.emf.ecore.EReference externalProperty, ComparisonSide side, org.eclipse.emf.ecore.EObject eObject)Returns the symbolic link (FQN) of the specified external property.protected booleanhasConflictChangesInCollection(ComparedFeatures<org.eclipse.emf.ecore.EReference> comparedReferences, Collection<? extends MatchedEmfObjects> matchedElements)Tells whether the collection being compared should be treated as containing conflicts.protected booleanisBmIdMayChangeOnMerge(IBmObject bmObject)Tells whether bmId of an object may change during the merge phase.protected booleanisFeatureTakenFromPreferredSide(org.eclipse.emf.ecore.EObject item, org.eclipse.emf.ecore.EStructuralFeature feature, MatchedEmfObjects matchedElement, MergeRule rule)Checks whether specified feature of a merged item got from the preferred side or not.booleansupportsPrioritizedMerging(ComparisonNode node, IComparisonSession session)Tells whether the given node supports prioritized merging.- 
Methods inherited from class com._1c.g5.v8.dt.compare.participant.AbstractEmfBasedComparisonParticipantadaptOtherReference, adoptEClassToImport, adoptMainSideFeature, assertEClassesMatch, calculateCompareValueFlags, checkForOneSideConflict, clear, compareEmfContainment, compareOneSideObject, comparePictureResource, compareReference, compareValue, createClassFeaturesInstance, createImportedEObject, createResourceForImportedObject, deletePictureResourceFile, findChildNodeByFeature, findChildNodeByMatchedId, getClassFeatures, getClassFeatures, getFeaturesToCompareForOneSideObject, getFeatureTypeDescription, getForcedDDRebuildScope, getMultiReferenceSymlinks, getMultiReferenceValueSymlink, getNodeFactory, getOtherSideFeature, getPictureResourcePath, getPotentialMergeProblemsDescriptions, getQualifiedName, getSingleReferenceSymlink, getTopNode, importEmfObject, importPictureResourceFile, isCandidateForPotentialMergeProblems, isExcludedFromComparison, isFeatureWithCustomMerge, isUnmatchableContainment, matchEmfObjects, mergeEmfProperties, mergeEmfReference, mergeOtherContainment, mergeUsingExternalTool, needCreateOneSideNode, onChildrenMerged, prepareRenameOperations, removeObjectFromContainerOnMerge, removeObjectFromListOnMerge, restoreCustomSettings, saveCustomSettings, setObjectToContainerOnMerge, supportsCustomMerging, supportsMergingUsingExternalTool, translateReferencesInImportedObject, updatePictureResourceFile, wrapOtherReference
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface com._1c.g5.v8.dt.compare.core.IComparisonParticipantableToBreakCorrespondence, addNewTopObjectToComparison, adoptExternalProperty, breakCorrespondence, breakMainSideCorrespondence, combineOneSideNodes, compare, createMergeContext, getDefaultMustBeMerged, getModelPackage, getPotentialCorrespondingNodes, merge, retrieveComparedObjects, supports, updateComparison, validateMerge
 
- 
 
- 
- 
- 
Field Detail- 
LOGGINGprotected static final boolean LOGGING 
 - 
SYMLINK_SEPARATORprotected static final Character SYMLINK_SEPARATOR 
 - 
INVALID_SYMLINK_PATTERNprotected static final Pattern INVALID_SYMLINK_PATTERN 
 - 
qualifiedNameProvider@Inject protected org.eclipse.xtext.naming.IQualifiedNameProvider qualifiedNameProvider 
 - 
bmModelManager@Inject protected IBmModelManager bmModelManager 
 
- 
 - 
Constructor Detail- 
AbstractMdAwareComparisonParticipantprotected AbstractMdAwareComparisonParticipant() Creates new participant instance with default comparison nodes factory.
 - 
AbstractMdAwareComparisonParticipantprotected AbstractMdAwareComparisonParticipant(ComparisonNodeFactory nodeFactory) Creates new participant instance with specific comparison nodes factory.- Parameters:
- nodeFactory- the node factory to use, cannot be- null
 
 
- 
 - 
Method Detail- 
supportsPrioritizedMergingpublic boolean supportsPrioritizedMerging(ComparisonNode node, IComparisonSession session) Description copied from interface:IComparisonParticipantTells whether the given node supports prioritized merging.- Specified by:
- supportsPrioritizedMergingin interface- IComparisonParticipant
- Overrides:
- supportsPrioritizedMergingin class- AbstractEmfBasedComparisonParticipant
- Parameters:
- node- the node to check, cannot be- null
- session- the comparison session, cannot be- null
- Returns:
- trueif the node supports prioritized merging,- falseotherwise
 
 - 
getDefaultMergeRulepublic MergeRule getDefaultMergeRule(ComparisonNode node, IComparisonSession session) Description copied from interface:IComparisonParticipantReturns the default merge rule for the given node.- Parameters:
- node- the node to get default merge rule for, can not be- null
- session- the comparison session, can not be- null
- Returns:
- the default merge rule or nullif it wasn't specified
 
 - 
getCustomMatcherprotected IEmfObjectMatcher getCustomMatcher(TopComparisonNode topNode, org.eclipse.emf.ecore.EReference reference, ComparisonContext objectContext) Description copied from class:AbstractEmfBasedComparisonParticipantReturns a custom matcher for the specified reference.- Overrides:
- getCustomMatcherin class- AbstractEmfBasedComparisonParticipant
- Parameters:
- topNode- the top node
- reference- the reference to get a custom matcher for
- objectContext- the current comparison context, cannot be- null
- Returns:
- a custom matcher or nullif no custom matcher can be found
 
 - 
getExternalPropertySymlinkprotected String getExternalPropertySymlink(TopComparisonNode node, org.eclipse.emf.ecore.EReference externalProperty, ComparisonSide side, org.eclipse.emf.ecore.EObject eObject) Description copied from class:AbstractEmfBasedComparisonParticipantReturns the symbolic link (FQN) of the specified external property.- Specified by:
- getExternalPropertySymlinkin class- AbstractEmfBasedComparisonParticipant
- Parameters:
- node- the node with the external property
- externalProperty- the- EReferenceto the external property
- side- the comparison side
- eObject- the- EObjectreferencing the external property
- Returns:
- the symbolic link
 
 - 
compareEmfObjectprotected ComparisonFlags compareEmfObject(TopComparisonNode topParent, LazyNodeProvider<? extends ComparisonNode> nodeProvider, AbstractComparedEmfObjects<?> comparingObject, AbstractEmfBasedComparisonParticipant.BmIdsWrapper childBmIds, ComparisonContext comparisonContext) - Overrides:
- compareEmfObjectin class- AbstractEmfBasedComparisonParticipant
 
 - 
getExternalPropertyQualifyingTypeprotected String getExternalPropertyQualifyingType(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EReference externalProperty) Description copied from class:AbstractEmfBasedComparisonParticipantReturns the EClass of the specified external property of the specified EObject.- Specified by:
- getExternalPropertyQualifyingTypein class- AbstractEmfBasedComparisonParticipant
- Returns:
 
 - 
isFeatureTakenFromPreferredSideprotected boolean isFeatureTakenFromPreferredSide(org.eclipse.emf.ecore.EObject item, org.eclipse.emf.ecore.EStructuralFeature feature, MatchedEmfObjects matchedElement, MergeRule rule)Checks whether specified feature of a merged item got from the preferred side or not.- Parameters:
- item- the item which feature to check, cannot be- null
- feature- the feature to check, cannot be- null
- matchedElement- the item-related element matched on comparison stage, cannot be- null
- rule- the merge rule, cannot be- null
- Returns:
- trueif item's property got from preferred side,- falseotherwise
 
 - 
areDifferentEClassObjectsMergeableprotected boolean areDifferentEClassObjectsMergeable(org.eclipse.emf.ecore.EObject main, org.eclipse.emf.ecore.EObject other, ComparisonContext comparisonContext)- Overrides:
- areDifferentEClassObjectsMergeablein class- AbstractEmfBasedComparisonParticipant
 
 - 
hasConflictChangesInCollectionprotected boolean hasConflictChangesInCollection(ComparedFeatures<org.eclipse.emf.ecore.EReference> comparedReferences, Collection<? extends MatchedEmfObjects> matchedElements) Description copied from class:AbstractEmfBasedComparisonParticipantTells whether the collection being compared should be treated as containing conflicts.- Overrides:
- hasConflictChangesInCollectionin class- AbstractEmfBasedComparisonParticipant
- Parameters:
- comparedReferences- the triple of many-features being compared, cannot be- null
- Returns:
- trueif the collection should be treated as containing conflicts,- falseotherwise
 
 - 
isBmIdMayChangeOnMergeprotected boolean isBmIdMayChangeOnMerge(IBmObject bmObject) Description copied from class:AbstractEmfBasedComparisonParticipantTells whether bmId of an object may change during the merge phase. Override in descendants for specific types.- Overrides:
- isBmIdMayChangeOnMergein class- AbstractEmfBasedComparisonParticipant
- Parameters:
- bmObject- the object to be checked, cannot be- null
- Returns:
- trueif bmId may change,- falseotherwise
 
 
- 
 
-