public abstract class IndexDeclarationProvider extends java.lang.Object implements DeclarationProvider
| Constructor and Description | 
|---|
IndexDeclarationProvider()  | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
canGetDeclaration(Context context)
Determine whether there could be a declaration in the context. 
 | 
boolean | 
canGetDeclarations(Context context,
                  Node node)
Determine whether this provider can get declarations for a Node. 
 | 
Declaration | 
getDeclaration(Context context)
Get the declaration for the given context. 
 | 
protected abstract java.util.Collection<QueryCriteria> | 
getDeclarationCriteria(Context context,
                      Reference reference)
Get the index query criteria to use to search for the declaration
 corresponding to a reference. 
 | 
java.util.Collection<? extends Declaration> | 
getDeclarations(Context context,
               Node node)
Get all declarations for a Node. 
 | 
java.util.Collection<? extends Declaration> | 
getTopLevelDeclarations(Context context,
                       Node node)
Get all top-level declarations for a Node. 
 | 
protected abstract java.util.Collection<QueryCriteria> getDeclarationCriteria(Context context, Reference reference)
context - the contextreference - the referencepublic boolean canGetDeclaration(Context context)
DeclarationProvidercanGetDeclaration in interface DeclarationProvidercontext - the contextpublic Declaration getDeclaration(Context context)
DeclarationProviderDeclarationProvider.canGetDeclaration(oracle.ide.Context) returned true for this context.getDeclaration in interface DeclarationProvidercontext - the contextpublic boolean canGetDeclarations(Context context, Node node)
DeclarationProvidercanGetDeclarations in interface DeclarationProvidercontext - the contextnode - the Nodepublic java.util.Collection<? extends Declaration> getDeclarations(Context context, Node node)
DeclarationProvidergetDeclarations in interface DeclarationProvidercontext - the contextnode - the Nodepublic java.util.Collection<? extends Declaration> getTopLevelDeclarations(Context context, Node node)
DeclarationProvider
 
 Some languages have a hierarchy of declarations.  Objects further down in
 the hierarchy can only be accessed through these top-level declarations.
 For example, methods in a Java class can only be referenced directly
 through a reference to the Java class.  Or columns in a database table
 might only be referenced through a reference to the table.  In those
 cases, it is possible to search for all references to a Node by
 searching only for the top-level declarations.  This improves performance
 compared to searching for every declaration in the Node.
 Implementations that do not have such a declaration hierarchy can simply
 call DeclarationProvider.getDeclarations(Context,Node).
getTopLevelDeclarations in interface DeclarationProvidercontext - the contextnode - the Node