Class ClassLoaderTypeSolver
java.lang.Object
com.github.javaparser.symbolsolver.resolution.typesolvers.ClassLoaderTypeSolver
- All Implemented Interfaces:
TypeSolver
- Direct Known Subclasses:
ReflectionTypeSolver
This TypeSolver wraps a ClassLoader. It can solve all types that the given ClassLoader can load.
This is intended to be used with custom classloaders. To support typical cases based on reflection
just use the ReflectionTypeSolver
-
Field Summary
FieldsFields inherited from interface TypeSolver
JAVA_LANG_OBJECT, JAVA_LANG_RECORD -
Constructor Summary
ConstructorsConstructorDescriptionClassLoaderTypeSolver(ClassLoader classLoader) ClassLoaderTypeSolver(ClassLoader classLoader, Iterable<Object> moduleLayers) Create a ClassLoaderTypeSolver with a list of module layers to check when solving types in modules. -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanfilterName(String name) Parent of the this TypeSolver.protected voidsetModulePackagesFromLayers(Iterable<Object> moduleLayers) voidsetParent(TypeSolver parent) Set the parent of this TypeSolver.tryToSolveType(String name) Try to solve the type with the given name.tryToSolveTypeInModule(String qualifiedModuleName, String simpleTypeName) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface TypeSolver
getRoot, getSolvedJavaLangObject, getSolvedJavaLangRecord, hasType, solveType, solveTypeInModule
-
Field Details
-
parent
-
classLoader
-
modulePackages
-
-
Constructor Details
-
ClassLoaderTypeSolver
-
ClassLoaderTypeSolver
Create a ClassLoaderTypeSolver with a list of module layers to check when solving types in modules. If moduleLayers is empty, tryToSolveTypeInModule will always return SymbolReference.unsolved- Parameters:
classLoader- the ClassLoader that should be used for type solvingmoduleLayers- MUST beIterable<java.lang.ModuleLayer>. Object is only used in the signature for Java 8 compatibility.
-
-
Method Details
-
setModulePackagesFromLayers
-
getParent
Description copied from interface:TypeSolverParent of the this TypeSolver. This can return null.- Specified by:
getParentin interfaceTypeSolver
-
setParent
Description copied from interface:TypeSolverSet the parent of this TypeSolver.- Specified by:
setParentin interfaceTypeSolver
-
filterName
-
tryToSolveTypeInModule
public SymbolReference<ResolvedReferenceTypeDeclaration> tryToSolveTypeInModule(String qualifiedModuleName, String simpleTypeName) - Specified by:
tryToSolveTypeInModulein interfaceTypeSolver
-
tryToSolveType
Description copied from interface:TypeSolverTry to solve the type with the given name. It always return a SymbolReference which can be solved or unsolved.- Specified by:
tryToSolveTypein interfaceTypeSolver
-