Interface IResolutionTargetDecider

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void activate()
      Activates this decider.
      boolean canFindTargetsFor​(EObject referenceContainer, EReference crossReference)
      Determines if the decider is of any use for the given resolving procedure.
      boolean containsCandidates​(EObject container, EReference containingReference)
      Determines if the decider needs to look into the given reference.
      boolean continueAfterReference()
      Defines, if the scoping for this decider allows to look behind the point where the reference, for which the target is searched, was defined.
      void deactivate()
      Deactivates this decider.
      EList<? extends EObject> getAdditionalCandidates​(String identifier, EObject container)
      Allows for the decider to provide additional target candidates that are not directly contained in the traversed model tree.
      boolean isActive()
      Indicates if this decider is active.
      boolean isPossibleTarget​(String identifier, EObject element)
      Decides if the given element is a (possibly the final) target.
      boolean isSure()
      Should return true, if the last time isPossibleTarget() returned true was the final decision (i.e., traversal can be stopped).
      void reset()
      Resets the state of the decider before a complete new walk takes place.
      boolean walkInto​(EObject element)
      Determines if references given element, which is a child of the elements visited by default in the tree traversing, should also be considered.
    • Method Detail

      • canFindTargetsFor

        boolean canFindTargetsFor​(EObject referenceContainer,
                                  EReference crossReference)
        Determines if the decider is of any use for the given resolving procedure.
        Parameters:
        referenceContainer -
        crossReference -
        Returns:
        decision
      • containsCandidates

        boolean containsCandidates​(EObject container,
                                   EReference containingReference)
        Determines if the decider needs to look into the given reference.
        Parameters:
        container -
        containingReference -
        Returns:
        decision
      • walkInto

        boolean walkInto​(EObject element)
        Determines if references given element, which is a child of the elements visited by default in the tree traversing, should also be considered.
        Parameters:
        element -
        Returns:
        decision
      • isPossibleTarget

        boolean isPossibleTarget​(String identifier,
                                 EObject element)
        Decides if the given element is a (possibly the final) target.
        Parameters:
        identifier -
        element -
        Returns:
        decision
      • isSure

        boolean isSure()
        Should return true, if the last time isPossibleTarget() returned true was the final decision (i.e., traversal can be stopped).
        Returns:
        decision
      • continueAfterReference

        boolean continueAfterReference()
        Defines, if the scoping for this decider allows to look behind the point where the reference, for which the target is searched, was defined.
        Returns:
        decision
      • getAdditionalCandidates

        EList<? extends EObject> getAdditionalCandidates​(String identifier,
                                                         EObject container)
        Allows for the decider to provide additional target candidates that are not directly contained in the traversed model tree. The additional candidates will be inserted into the scope behind the children of the given container.
        Parameters:
        identifier -
        container -
        Returns:
        a list of additional candidates.
      • activate

        void activate()
        Activates this decider.
      • deactivate

        void deactivate()
        Deactivates this decider.
      • isActive

        boolean isActive()
        Indicates if this decider is active.
        Returns:
        true if the decider is active. false otherwise.
      • reset

        void reset()
        Resets the state of the decider before a complete new walk takes place.