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 classCombinedTypeSolver.ExceptionHandlersProvides some convenience exception handler implementations
-
Field Summary
-
Fields inherited from interface com.github.javaparser.resolution.TypeSolver
JAVA_LANG_OBJECT, JAVA_LANG_RECORD
-
-
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 ofCombinedTypeSolverwith a custom symbol cache.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(TypeSolver typeSolver)Append a type solver to the current solver.voidadd(TypeSolver typeSolver, boolean resetCache)Append a type solver to the current solver.TypeSolvergetParent()voidsetExceptionHandler(Predicate<Exception> exceptionHandler)voidsetParent(TypeSolver parent)ResolvedReferenceTypeDeclarationsolveType(String name)SymbolReference<ResolvedReferenceTypeDeclaration>tryToSolveType(String 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, getSolvedJavaLangRecord, 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 ofCombinedTypeSolverwith 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()
- Specified by:
getParentin interfaceTypeSolver
-
setParent
public void setParent(TypeSolver parent)
- Specified by:
setParentin 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)
- Specified by:
tryToSolveTypein interfaceTypeSolver
-
solveType
public ResolvedReferenceTypeDeclaration solveType(String name) throws UnsolvedSymbolException
- Specified by:
solveTypein interfaceTypeSolver- Throws:
UnsolvedSymbolException
-
-