Class ClassLoaderTypeSolver

  • All Implemented Interfaces:
    TypeSolver
    Direct Known Subclasses:
    ReflectionTypeSolver

    public class ClassLoaderTypeSolver
    extends java.lang.Object
    implements 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
    • Field Detail

      • classLoader

        private java.lang.ClassLoader classLoader
      • modulePackages

        private java.util.HashMap<java.lang.String,​java.util.Set<java.lang.String>> modulePackages
    • 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.