Class 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.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

      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 boolean filterName​(java.lang.String name)  
      com.github.javaparser.resolution.TypeSolver getParent()  
      protected void setModulePackagesFromLayers​(java.lang.Iterable<java.lang.Object> moduleLayers)  
      void setParent​(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)  
      • 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, solveType, solveTypeInModule
    • 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 solving
        moduleLayers - MUST be Iterable<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:
        getParent in interface com.github.javaparser.resolution.TypeSolver
      • setParent

        public void setParent​(com.github.javaparser.resolution.TypeSolver parent)
        Specified by:
        setParent in interface com.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:
        tryToSolveTypeInModule in interface com.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:
        tryToSolveType in interface com.github.javaparser.resolution.TypeSolver