Interface SearchObjectResolver
- 
- All Known Implementing Classes:
 SearchObjectResolver.BasicResolver,SearchObjectResolver.CompatibilityResolver
public interface SearchObjectResolverAbstracts revival of searched objects from theirIHolderpersistence into something MPS could search for. UnlikeSearchScope, this interface helps to answer 'What is being looked up', not 'Where it's to be looked up'. Distinction betweenSearchScopeandSearchObjectResolveris apparent if you think about scenario, when one looks for instances of a concept declaration in a set of modules. Concept declaration originates in a model/module that is not necessarily among the modules/models we search through. In fact, quite the opposite, it's unlikely to be among them. Use this interface to translate search objects obtained throughIHolder.getObject(). Find Usages client is responsible to ensure proper model access so that these methods, invoked duringIFinder.find(SearchQuery, ProgressMonitor), do not fail.- Since:
 - 2017.1
 
 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classSearchObjectResolver.BasicResolverAll-purpose, unrestricted implementation of the resolver.static classSearchObjectResolver.CompatibilityResolverDO NOT USE THIS CLASS FOR ANY PURPOSE EXCEPT THE ONE IT HAS BEEN WRITTEN FOR, THE CLASS SHALL CEASE ONCE PROPER API IS IN PLACE. 
- 
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static SearchObjectResolverforModule(SModule module)static SearchObjectResolverforNode(SNode node)SModelresolve(SModelReference reference)Finder may use this method to go from model reference as a search value to SModel object.default SNoderesolve(SNodeReference reference)Finder may use this method to go from model reference as a search value to SNode object.SModuleresolve(SModuleReference reference)Finder may use this method to go from module reference as a seatch value to SModule object. 
 - 
 
- 
- 
Method Detail
- 
resolve
@Nullable SModel resolve(@NotNull SModelReference reference)
Finder may use this method to go from model reference as a search value to SModel object. Find Usages client may use this method to limit what's visible/accessible to a Finder.- Parameters:
 reference- model to resolve- Returns:
 - model instance, or 
nullif model with specified reference is not available 
 
- 
resolve
@Nullable SModule resolve(@NotNull SModuleReference reference)
Finder may use this method to go from module reference as a seatch value to SModule object. Find Usages client may use this method to limit what's visible/accessible to a Finder.- Parameters:
 reference- module to resolve- Returns:
 - module instance, or 
nullif there's no such module 
 
- 
resolve
@Nullable default SNode resolve(@NotNull SNodeReference reference)
Finder may use this method to go from model reference as a search value to SNode object. Find Usages client may use this method to limit what's visible/accessible to a Finder.- Parameters:
 reference- node to resolve- Returns:
 - node instance of 
nullif the node is unknown 
 
- 
forNode
static SearchObjectResolver forNode(@NotNull SNode node)
 
- 
forModule
static SearchObjectResolver forModule(@NotNull SModule module)
 
 - 
 
 -