Interface IComparedElement

All Known Subinterfaces:
ICollectionPartialNode, IDirectPartialModelNode, IFragmentPartialNode, IMergeRulePartialModelNode, INodeWithAddibleChildren, IOrderMergeRulePartialModelNode, IPartialEqualFeatureNode, IPartialEqualNode, IPartialFeatureNode, IPartialListElementNode, IPartialModelNode, IPartialObjectRightNode, IPartialObjectRightsNode, IPartialRoleRightsNode, IPartialRoleTemplateNode
All Known Implementing Classes:
AbstractDirectPartialModelNode, AbstractEqualNodeWithChildren, AbstractNodeWithLabels, AbstractNodeWithLabelsAndChildren, AbstractPartialModelNode, AbstractPartialModelNodeWithChildren, BslModuleSectionPartialModelNode, EmfFeatureNodeWithChildren, EmfFeatureTerminalNode, EqualEmfFeatureNodeWithChildren, EqualEmfFeatureTerminalNode, EqualFragmentPartialNode, EqualListElementNodeWithChildren, EqualListElementTerminalNode, EqualObjectRightsNodeWithChildren, EqualObjectRightTerminalNode, EqualReferenceListElementTerminalNode, EqualRoleRightsTerminalNode, EqualRoleTemplateTerminalNode, ExternalPropertyPartialModelNode, FragmentPartialNode, HtmlDocumentPageTerminalNode, ListElementNodeWithChildren, ListElementTerminalNode, ObjectRightsNodeWithChildren, ObjectRightTerminalNode, ProjectPartialModelNode, RoleRightsTerminalNode, RoleTemplateTerminalNode, RootPartialModelNode, VirtualFolderPartialModelNode

public interface IComparedElement
An object containing the results of comparison of matched objects it hosts.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns true if compared objects on the specified sides have changed properties or elements.
    boolean
    Returns true if compared objects on the specified sides are different, i.e. they have changes or one of them is absent.
    boolean
    Returns true if the compared objects have at least one property that was changed from the corresponding property of the common ancestor object both in the main and in the other objects.
    boolean
    Returns true if the compared object is present on the specified first side, and absent on the specified other side.
    boolean
    Returns true if the compared object's order in its parent collection was changed between the specified sides.
    boolean
    Tells whether the compared element has potential problems that could break a project after the merge.
    boolean
    Returns true if compared objects on the specified sides have unchanged properties or elements.
  • Method Details

    • hasDifferences

      boolean hasDifferences(ComparisonSide side1, ComparisonSide side2)
      Returns true if compared objects on the specified sides are different, i.e. they have changes or one of them is absent.
      Parameters:
      side1 - the first side of the comparison direction, not null
      side2 - the second side of the comparison direction, not null
      Returns:
      true if the compared objects are different
    • hasChanged

      boolean hasChanged(ComparisonSide side1, ComparisonSide side2)
      Returns true if compared objects on the specified sides have changed properties or elements. This implies that the compared objects must be present on both specified sides.
      Parameters:
      side1 - the first side of the comparison direction, not null
      side2 - the second side of the comparison direction, not null
      Returns:
      true if the compared objects have changed properties
    • hasUnchanged

      boolean hasUnchanged(ComparisonSide side1, ComparisonSide side2)
      Returns true if compared objects on the specified sides have unchanged properties or elements. This implies that the compared objects must be present on both specified sides.
      Parameters:
      side1 - the first side of the comparison direction, not null
      side2 - the second side of the comparison direction, not null
      Returns:
      true if the compared objects have changed properties.
    • hasOrderChanged

      boolean hasOrderChanged(ComparisonSide side1, ComparisonSide side2)
      Returns true if the compared object's order in its parent collection was changed between the specified sides. This implies that the compared objects must be present on both specified sides.
      Parameters:
      side1 - the first side of the comparison direction, not null
      side2 - the second side of the comparison direction, not null
      Returns:
      true if the compared object's order was changed
    • hasOnlyOnOneSide

      boolean hasOnlyOnOneSide(ComparisonSide side1, ComparisonSide side2)
      Returns true if the compared object is present on the specified first side, and absent on the specified other side.
      Parameters:
      side1 - the first side of the comparison direction, not null
      side2 - the second side of the comparison direction, not null
      Returns:
      true if the compared object is present on side1 and absent on side2
    • hasDoubleChanges

      boolean hasDoubleChanges()
      Returns true if the compared objects have at least one property that was changed from the corresponding property of the common ancestor object both in the main and in the other objects. This flag is only relevant for three-way nodes.
      Returns:
      true if the node has properties with double changes or a child node with this flag
    • hasPotentialMergeProblems

      boolean hasPotentialMergeProblems()
      Tells whether the compared element has potential problems that could break a project after the merge.
      Returns:
      true if have potential merge problems, false otherwise