Class AbstractFeatureElementSupplier

java.lang.Object
com._1c.g5.v8.dt.compare.ui.partialmodel.AbstractElementSupplier
com._1c.g5.v8.dt.compare.ui.partialmodel.AbstractFeatureElementSupplier
All Implemented Interfaces:
IInnerElementSupplier
Direct Known Subclasses:
AbstractCmiCommandsSupplier, AbstractCmiSupplier, AdditionalIndexFeatureElementSupplier, AdditionalIndexFieldsFeatureElementSupplier, AdjustableBooleanForInnerElementSupplier, EventHandlerSupplier, ExcludedCommandsSupplier, HtmlDocumentPageSupplier, MultiReferenceGenericSupplier, RoleRightsSupplier, RoleTemplateVisibilitySupplier

public abstract class AbstractFeatureElementSupplier extends AbstractElementSupplier
Abstract supplier of inner elements for some feature.
  • Field Details

    • symbolicLinkLocalizer

      protected final ISymbolicLinkLocalizer symbolicLinkLocalizer
      the symbolic link localizer
  • Constructor Details

    • AbstractFeatureElementSupplier

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

    • 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
    • createChildEqualNode

      protected final IPartialEqualNode createChildEqualNode(IPartialModelNode parent, AbstractComparedEmfObjects<?> parents, AbstractComparedEmfObjects<?> eObjects, ComparisonContext comparisonContext, org.eclipse.xtext.scoping.IScopeProvider scopeProvider)
      Description copied from class: AbstractElementSupplier
      Creates a partial model node for the specified eObjects assumed to be equal for MAIN and OTHER sides.
      Specified by:
      createChildEqualNode in class AbstractElementSupplier
      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
    • createChildNode

      protected final IPartialModelNode createChildNode(IPartialModelNode parent, ComparisonNode 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, ComparisonNode 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