Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (11.1.2.1.0)

E17493-02

oracle.ide.dependency
Interface DeclarationProvider

All Known Subinterfaces:
IdDeclarationProvider
All Known Implementing Classes:
IndexDeclarationProvider, JavaDeclarationProvider, URLDeclarationProvider

public interface DeclarationProvider

Provides Declaration instances. A DeclarationProvider can be registered through the extension manifest, or using DependencyManager.addDeclarationProvider(oracle.ide.dependency.DeclarationProvider).


Method Summary
 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.
 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.
 

Method Detail

canGetDeclaration

boolean canGetDeclaration(Context context)
Determine whether there could be a declaration in the context. The implementation of this method should be very fast, as it is called from the event thread to enable or disable dependency-related actions.

Parameters:
context - the context
Returns:
true if this provider may have a declaration in the context, false otherwise

getDeclaration

Declaration getDeclaration(Context context)
Get the declaration for the given context. This will only be called if canGetDeclaration(oracle.ide.Context) returned true for this context.

Parameters:
context - the context
Returns:
the declaration

canGetDeclarations

boolean canGetDeclarations(Context context,
                           Node node)
Determine whether this provider can get declarations for a Node.

Parameters:
context - the context
node - the Node
Returns:
true if the provider can get declarations for this Node, false otherwise

getDeclarations

java.util.Collection<? extends Declaration> getDeclarations(Context context,
                                                            Node node)
Get all declarations for a Node.

Parameters:
context - the context
node - the Node
Returns:
the declarations

getTopLevelDeclarations

java.util.Collection<? extends Declaration> getTopLevelDeclarations(Context context,
                                                                    Node node)
Get all top-level declarations for a Node.

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 getDeclarations(Context,Node).

Parameters:
context - the context
node - the Node
Returns:
the top-level declarations

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (11.1.2.1.0)

E17493-02

Copyright © 1997, 2011, Oracle. All rights reserved.