public class CachingResolver extends java.lang.Object implements Resolver, Copy<CachingResolver>
CachingResolver
memoizes another ResolverModifier and Type | Class and Description |
---|---|
protected static class |
CachingResolver.CachedResult |
Constructor and Description |
---|
CachingResolver(Resolver inner) |
CachingResolver(Resolver inner,
boolean cacheNotFound)
Create a caching resolver.
|
Modifier and Type | Method and Description |
---|---|
void |
addNamed(java.lang.String name,
Named q)
Install a qualifier in the cache.
|
protected java.util.Collection<CachingResolver.CachedResult> |
cachedResults() |
Named |
check(java.lang.String name)
Check if a type object is in the cache, returning null if not.
|
CachingResolver |
copy() |
void |
dump() |
Named |
find(java.lang.String name)
Find a type object by name.
|
Resolver |
inner()
The resolver whose results this resolver caches.
|
void |
install(java.lang.String name,
Named q)
Install a qualifier in the cache.
|
protected boolean |
shouldReport(int level) |
java.lang.String |
toString() |
protected Resolver inner
public CachingResolver(Resolver inner, boolean cacheNotFound)
inner
- The resolver whose results this resolver caches.public CachingResolver(Resolver inner)
protected boolean shouldReport(int level)
public CachingResolver copy()
copy
in interface Copy<CachingResolver>
public Resolver inner()
public java.lang.String toString()
toString
in class java.lang.Object
protected java.util.Collection<CachingResolver.CachedResult> cachedResults()
public Named find(java.lang.String name) throws SemanticException
find
in interface Resolver
name
- The name to search for.SemanticException
public Named check(java.lang.String name)
name
- The name to search for.public void install(java.lang.String name, Named q)
name
- The name of the qualifier to insert.q
- The qualifier to insert.public void addNamed(java.lang.String name, Named q) throws SemanticException
name
- The name of the qualifier to insert.q
- The qualifier to insert.SemanticException
public void dump()