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 java.lang.Object implements com.github.javaparser.resolution.TypeSolverThis 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
-
-
Constructor Summary
Constructors Constructor Description ClassLoaderTypeSolver(java.lang.ClassLoader classLoader)ClassLoaderTypeSolver(java.lang.ClassLoader classLoader, java.lang.Iterable<java.lang.Object> moduleLayers)Create a ClassLoaderTypeSolver with a list of module layers to check when solving types in modules.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanfilterName(java.lang.String name)com.github.javaparser.resolution.TypeSolvergetParent()protected voidsetModulePackagesFromLayers(java.lang.Iterable<java.lang.Object> moduleLayers)voidsetParent(com.github.javaparser.resolution.TypeSolver parent)com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration>tryToSolveType(java.lang.String name)com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration>tryToSolveTypeInModule(java.lang.String qualifiedModuleName, java.lang.String simpleTypeName)
-
-
-
Constructor Detail
-
ClassLoaderTypeSolver
public ClassLoaderTypeSolver(java.lang.ClassLoader classLoader)
-
ClassLoaderTypeSolver
public ClassLoaderTypeSolver(java.lang.ClassLoader classLoader, java.lang.Iterable<java.lang.Object> moduleLayers)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 Detail
-
setModulePackagesFromLayers
protected void setModulePackagesFromLayers(java.lang.Iterable<java.lang.Object> moduleLayers)
-
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
protected boolean filterName(java.lang.String name)
-
tryToSolveTypeInModule
public com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> tryToSolveTypeInModule(java.lang.String qualifiedModuleName, java.lang.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(java.lang.String name)
- Specified by:
tryToSolveTypein interfacecom.github.javaparser.resolution.TypeSolver
-
-