Interface RedefinableElement

    • Method Detail

      • isLeaf

        boolean isLeaf()
        Returns the value of the 'Is Leaf' attribute. The default value is "false". Indicates whether it is possible to further specialize a RedefinableElement. If the value is true, then it is not possible to further specialize the RedefinableElement.
        Returns:
        the value of the 'Is Leaf' attribute.
        See Also:
        setIsLeaf(boolean), UMLPackage.getRedefinableElement_IsLeaf()
      • setIsLeaf

        void setIsLeaf​(boolean value)
        Sets the value of the 'Is Leaf' attribute.
        Parameters:
        value - the new value of the 'Is Leaf' attribute.
        See Also:
        isLeaf()
      • getRedefinitionContext

        Classifier getRedefinitionContext​(String name,
                                          boolean ignoreCase,
                                          org.eclipse.emf.ecore.EClass eClass)
        Retrieves the first Classifier with the specified 'Name' from the ' Redefinition Context' reference list.
        Parameters:
        name - The 'Name' of the Classifier to retrieve, or null.
        ignoreCase - Whether to ignore case in String comparisons.
        eClass - The Ecore class of the Classifier to retrieve, or null.
        Returns:
        The first Classifier with the specified 'Name', or null.
        See Also:
        getRedefinitionContexts()
      • validateRedefinitionContextValid

        boolean validateRedefinitionContextValid​(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                                 Map context)
        At least one of the redefinition contexts of the redefining element must be a specialization of at least one of the redefinition contexts for each redefined element. self.redefinedElement->forAll(e | self.isRedefinitionContextValid(e))
      • validateRedefinitionConsistent

        boolean validateRedefinitionConsistent​(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                               Map context)
        A redefining element must be consistent with each redefined element. self.redefinedElement->forAll(re | re.isConsistentWith(self))
      • isRedefinitionContextValid

        boolean isRedefinitionContextValid​(RedefinableElement redefined)
        The query isRedefinitionContextValid() specifies whether the redefinition contexts of this RedefinableElement are properly related to the redefinition contexts of the specified RedefinableElement to allow this element to redefine the other. By default at least one of the redefinition contexts of this element must be a specialization of at least one of the redefinition contexts of the specified element. result = redefinitionContext->exists(c | c.allParents()->includes(redefined.redefinitionContext)))
      • isConsistentWith

        boolean isConsistentWith​(RedefinableElement redefinee)
        The query isConsistentWith() specifies, for any two RedefinableElements in a context in which redefinition is possible, whether redefinition would be logically consistent. By default, this is false; this operation must be overridden for subclasses of RedefinableElement to define the consistency conditions. redefinee.isRedefinitionContextValid(self) result = false