Interface IResolutionTargetDecider
- All Known Implementing Classes:
AbstractDecider
,ConcreteClassifierDecider
,EnumConstantDecider
,FieldDecider
,InterfaceMethodDecider
,LocalVariableDecider
,MethodDecider
,PackageDecider
,ParameterDecider
,TypeParameterDecider
public interface IResolutionTargetDecider
A visitor that determines during a scoped tree traversal if an element
is the target. A decider can also influence the traversal itself at certain points
to adjust the scoping rules for its needs. A decider can maintain a state for one traversal
process.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
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
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
Deactivates this decider.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 timeisPossibleTarget()
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
Determines if references given element, which is a child of the elements visited by default in the tree traversing, should also be considered.
-
Method Details
-
canFindTargetsFor
Determines if the decider is of any use for the given resolving procedure.- Parameters:
referenceContainer
-crossReference
-- Returns:
- decision
-
containsCandidates
Determines if the decider needs to look into the given reference.- Parameters:
container
-containingReference
-- Returns:
- decision
-
walkInto
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
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 timeisPossibleTarget()
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
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.
-