Class AbstractFeatureElementSupplier

    • Field Detail

      • symbolicLinkLocalizer

        protected final ISymbolicLinkLocalizer symbolicLinkLocalizer
        the symbolic link localizer
    • Constructor Detail

      • AbstractFeatureElementSupplier

        protected AbstractFeatureElementSupplier​(ISymbolicLinkLocalizer symbolicLinkLocalizer)
        Constructor.
        Parameters:
        symbolicLinkLocalizer - the symbolic link localizer, cannot be null
    • Method Detail

      • getInnerElements

        public List<IPartialModelNode> getInnerElements​(IPartialModelNode node,
                                                        ComparisonContext comparisonContext,
                                                        org.eclipse.xtext.scoping.IScopeProvider scopeProvider)
        Description copied from interface: IInnerElementSupplier
        Returns a list of inner elements for the specified partial model node.
        Parameters:
        node - the partial model node, cannot be null
        comparisonContext - the comparison context, cannot null
        scopeProvider - the scope provider, cannot be null
        Returns:
        a collection of inner elements, never null
      • supports

        public boolean supports​(IPartialModelNode node)
        Description copied from interface: IInnerElementSupplier
        Checks if this provider supports the specified MD object property partial model node.
        Parameters:
        node - the partial model node
        Returns:
        true if the supplier supports the specified node, and false otherwise
      • createChildNode

        protected final IPartialModelNode createChildNode​(IPartialModelNode parent,
                                                          ComparisonTreeNode comparisonNode,
                                                          ComparisonContext comparisonContext,
                                                          org.eclipse.xtext.scoping.IScopeProvider scopeProvider)
        Description copied from class: AbstractElementSupplier
        Creates a partial model node for the specified comparison node.
        Specified by:
        createChildNode in class AbstractElementSupplier
        Parameters:
        parent - the parent partial model node, not null
        comparisonNode - the comparison node for which to create the partial one, not null
        comparisonContext - the comparison context, not null
        scopeProvider - the scope provider, not null
        Returns:
        a new partial model node, never null
      • createEqualNode

        protected abstract IPartialEqualNode createEqualNode​(IPartialFeatureNode parent,
                                                             AbstractComparedEmfObjects<?> parents,
                                                             AbstractComparedEmfObjects<?> eObjects,
                                                             ComparisonContext comparisonContext,
                                                             org.eclipse.xtext.scoping.IScopeProvider scopeProvider)
        Creates a partial model node for the specified eObjects assumed to be equal for MAIN and OTHER sides.
        Parameters:
        parent - the parent partial model node, not null
        parents - the parent eObjects, not null
        eObjects - the objects to create the partial node for, not null
        comparisonContext - the comparison context, not null
        scopeProvider - the scope provider, not null
        Returns:
        a new partial model node, never null
      • createNode

        protected abstract IPartialModelNode createNode​(IPartialFeatureNode parent,
                                                        ComparisonTreeNode comparisonNode,
                                                        ComparisonContext comparisonContext,
                                                        org.eclipse.xtext.scoping.IScopeProvider scopeProvider)
        Creates a partial model node for the specified comparison node.
        Parameters:
        parent - the parent partial model node, not null
        comparisonNode - the comparison node for which to create the partial one, not null
        comparisonContext - the comparison context, not null
        scopeProvider - the scope provider, not null
        Returns:
        a new partial model node, never null
      • getSingleReferenceRepresentation

        protected Pair<String,​String> getSingleReferenceRepresentation​(org.eclipse.emf.ecore.EObject object,
                                                                             org.eclipse.emf.ecore.EReference reference,
                                                                             IComparisonDataSource dataSource,
                                                                             org.eclipse.xtext.scoping.IScopeProvider scopeProvider)
        A utility method for obtaining a representation of a single reference of the specified EObject.
        Parameters:
        object - the object hosting the reference
        reference - the reference
        dataSource - the data source for obtaining the underlying symbolic link
        Returns:
        a pair of a raw symbolic link and its representation
      • localizeSymlink

        protected String localizeSymlink​(String symlink,
                                         org.eclipse.emf.ecore.EObject contextObject,
                                         org.eclipse.emf.ecore.EStructuralFeature feature,
                                         Locale locale)
        Localizes given symbolic link.
        Returns:
        the localized symbolic link, never null