Class CombinedTypeSolver
- java.lang.Object
-
- com.github.javaparser.symbolsolver.resolution.typesolvers.CombinedTypeSolver
-
- All Implemented Interfaces:
TypeSolver
public class CombinedTypeSolver extends Object implements TypeSolver
A container for type solvers. All solving is done by the contained type solvers. This helps you when an API asks for a single type solver, but you need several.- Author:
- Federico Tomassetti
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CombinedTypeSolver.ExceptionHandlers
Provides some convenience exception handler implementations
-
Field Summary
-
Fields inherited from interface com.github.javaparser.resolution.TypeSolver
JAVA_LANG_OBJECT
-
-
Constructor Summary
Constructors Constructor Description CombinedTypeSolver(TypeSolver... elements)
CombinedTypeSolver(Iterable<TypeSolver> elements)
CombinedTypeSolver(Predicate<Exception> exceptionHandler, TypeSolver... elements)
CombinedTypeSolver(Predicate<Exception> exceptionHandler, Iterable<TypeSolver> elements)
CombinedTypeSolver(Predicate<Exception> exceptionHandler, Iterable<TypeSolver> elements, Cache<String,SymbolReference<ResolvedReferenceTypeDeclaration>> typeCache)
Create a new instance ofCombinedTypeSolver
with a custom symbol cache.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(TypeSolver typeSolver)
Append a type solver to the current solver.void
add(TypeSolver typeSolver, boolean resetCache)
Append a type solver to the current solver.TypeSolver
getParent()
Parent of the this TypeSolver.void
setExceptionHandler(Predicate<Exception> exceptionHandler)
void
setParent(TypeSolver parent)
Set the parent of this TypeSolver.ResolvedReferenceTypeDeclaration
solveType(String name)
Solve the given type.SymbolReference<ResolvedReferenceTypeDeclaration>
tryToSolveType(String name)
Try to solve the type with the given name.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.github.javaparser.resolution.TypeSolver
getRoot, getSolvedJavaLangObject, hasType
-
-
-
-
Constructor Detail
-
CombinedTypeSolver
public CombinedTypeSolver(TypeSolver... elements)
-
CombinedTypeSolver
public CombinedTypeSolver(Predicate<Exception> exceptionHandler, TypeSolver... elements)
-
CombinedTypeSolver
public CombinedTypeSolver(Iterable<TypeSolver> elements)
-
CombinedTypeSolver
public CombinedTypeSolver(Predicate<Exception> exceptionHandler, Iterable<TypeSolver> elements)
- See Also:
exceptionHandler
-
CombinedTypeSolver
public CombinedTypeSolver(Predicate<Exception> exceptionHandler, Iterable<TypeSolver> elements, Cache<String,SymbolReference<ResolvedReferenceTypeDeclaration>> typeCache)
Create a new instance ofCombinedTypeSolver
with a custom symbol cache.- Parameters:
exceptionHandler
- How exception should be handled.elements
- The list of elements to include by default.typeCache
- The cache to be used to store symbols.- See Also:
exceptionHandler
-
-
Method Detail
-
setExceptionHandler
public void setExceptionHandler(Predicate<Exception> exceptionHandler)
- See Also:
exceptionHandler
-
getParent
public TypeSolver getParent()
Description copied from interface:TypeSolver
Parent of the this TypeSolver. This can return null.- Specified by:
getParent
in interfaceTypeSolver
-
setParent
public void setParent(TypeSolver parent)
Description copied from interface:TypeSolver
Set the parent of this TypeSolver.- Specified by:
setParent
in interfaceTypeSolver
-
add
public void add(TypeSolver typeSolver, boolean resetCache)
Append a type solver to the current solver.- Parameters:
typeSolver
- The type solver to be appended.resetCache
- If should reset the cache when the solver is inserted.
-
add
public void add(TypeSolver typeSolver)
Append a type solver to the current solver.
By default the cached values will be removed.- Parameters:
typeSolver
- The type solver to be appended.
-
tryToSolveType
public SymbolReference<ResolvedReferenceTypeDeclaration> tryToSolveType(String name)
Description copied from interface:TypeSolver
Try to solve the type with the given name. It always return a SymbolReference which can be solved or unsolved.- Specified by:
tryToSolveType
in interfaceTypeSolver
-
solveType
public ResolvedReferenceTypeDeclaration solveType(String name) throws UnsolvedSymbolException
Description copied from interface:TypeSolver
Solve the given type. Either the type is found and returned or an UnsolvedSymbolException is thrown.- Specified by:
solveType
in interfaceTypeSolver
- Throws:
UnsolvedSymbolException
-
-