Class ClassLoaderTypeSolver
java.lang.Object
com.github.javaparser.symbolsolver.resolution.typesolvers.ClassLoaderTypeSolver
- All Implemented Interfaces:
com.github.javaparser.resolution.TypeSolver
- Direct Known Subclasses:
ReflectionTypeSolver
public class ClassLoaderTypeSolver
extends Object
implements com.github.javaparser.resolution.TypeSolver
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
- Author:
- Federico Tomassetti
-
Field Summary
Fields inherited from interface com.github.javaparser.resolution.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) com.github.javaparser.resolution.TypeSolverprotected voidsetModulePackagesFromLayers(Iterable<Object> moduleLayers) voidsetParent(com.github.javaparser.resolution.TypeSolver parent) com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> tryToSolveType(String name) com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> tryToSolveTypeInModule(String qualifiedModuleName, String simpleTypeName) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.github.javaparser.resolution.TypeSolver
getRoot, getSolvedJavaLangObject, getSolvedJavaLangRecord, hasType, solveType, solveTypeInModule
-
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
public com.github.javaparser.resolution.TypeSolver getParent()- Specified by:
getParentin interfacecom.github.javaparser.resolution.TypeSolver
-
setParent
public void setParent(com.github.javaparser.resolution.TypeSolver parent) - Specified by:
setParentin interfacecom.github.javaparser.resolution.TypeSolver
-
filterName
-
tryToSolveTypeInModule
public com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> tryToSolveTypeInModule(String qualifiedModuleName, String simpleTypeName) - Specified by:
tryToSolveTypeInModulein interfacecom.github.javaparser.resolution.TypeSolver
-
tryToSolveType
public com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> tryToSolveType(String name) - Specified by:
tryToSolveTypein interfacecom.github.javaparser.resolution.TypeSolver
-