org.eclipse.jst.jsf.designtime.resolver
Class CachingSymbolContextResolver
java.lang.Object
org.eclipse.jst.jsf.designtime.resolver.AbstractSymbolContextResolver
org.eclipse.jst.jsf.designtime.resolver.CachingSymbolContextResolver
-
All Implemented Interfaces:
-
IContextResolver,
IDocumentContextResolver,
ISymbolContextResolver
-
public final class CachingSymbolContextResolver
- extends
AbstractSymbolContextResolver
A symbol resolver that delegates to the default SymbolContextResolver, but
caches the results and returns those on subsequent calls.
WARNING: this resolver is suitable *only* in situations where the state
of dependent symbol sources won't change between calls. This resolver makes
no attempt to ensure that cached data is in sync with changes to symbols
such addition, modification or removal of Java class underlying beans.
NOTE: this resolver is experimental and should NOT be considered API
Clients should not use this resolver directly. Access it through the factory instead
Methods inherited from class java.lang.Object
|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
|
CachingSymbolContextResolver
public CachingSymbolContextResolver(
IStructuredDocumentContext context)
-
Parameters:
-
context
-
canResolveContext
public boolean canResolveContext(
IModelContext modelContext)
-
-
Specified by:
-
canResolveContext
in interface
IContextResolver
-
Specified by:
-
canResolveContext
in class
AbstractSymbolContextResolver
-
-
Returns:
- true if this resolver can resolve context information
based on this context
getAllVariables
public
ISymbol[] getAllVariables()
-
-
Specified by:
-
getAllVariables
in interface
ISymbolContextResolver
-
Specified by:
-
getAllVariables
in class
AbstractSymbolContextResolver
-
-
Returns:
- all valid symbols in the current context
getMethod
public
IMethodSymbol getMethod(
IObjectSymbol base,
java.lang.Object methodName)
-
-
Specified by:
-
getMethod
in interface
ISymbolContextResolver
-
Specified by:
-
getMethod
in class
AbstractSymbolContextResolver
-
-
Returns:
- the method of base matching methodName or null if not found
getMethods
public
ISymbol[] getMethods(
IObjectSymbol base)
-
-
Specified by:
-
getMethods
in interface
ISymbolContextResolver
-
Specified by:
-
getMethods
in class
AbstractSymbolContextResolver
-
-
Returns:
- all methods belonging to base
getProperties
public
ISymbol[] getProperties(
ISymbol symbol)
-
-
Specified by:
-
getProperties
in interface
ISymbolContextResolver
-
Specified by:
-
getProperties
in class
AbstractSymbolContextResolver
-
-
Returns:
- all properties of symbol
getProperty
public
ISymbol getProperty(
ISymbol symbol,
java.lang.Object propertyName)
-
-
Specified by:
-
getProperty
in interface
ISymbolContextResolver
-
Specified by:
-
getProperty
in class
AbstractSymbolContextResolver
-
-
Returns:
- the property symbol called propertyName or null if not found
getVariable
public
ISymbol getVariable(java.lang.String name)
-
Description copied from interface:
ISymbolContextResolver
- Gets the most appropriate symbol in the current context
based on name. Most "appropriate" may take into account
scoping and other rules.
-
-
Specified by:
-
getVariable
in interface
ISymbolContextResolver
-
Specified by:
-
getVariable
in class
AbstractSymbolContextResolver
-
-
Returns:
- a symbol
hasSameResolution
public boolean hasSameResolution(
IModelContext modelContext)
-
Description copied from class:
AbstractSymbolContextResolver
- Default implementation
We should avoid returning true unless we are positive that changing
to this context won't change the way symbols are resolved.
-
-
Specified by:
-
hasSameResolution
in interface
ISymbolContextResolver
-
Overrides:
-
hasSameResolution
in class
AbstractSymbolContextResolver
-
-
Returns:
- true if the instance of this resolver would resolve everything
exactly the same with this modelContext. False otherwise.