Class ReflectionTypeSolver

  • All Implemented Interfaces:
    TypeSolver

    public class ReflectionTypeSolver
    extends ClassLoaderTypeSolver
    Uses reflection to resolve types. Classes on the classpath used to run your application will be found. No source code is available for the resolved types.
    • Field Detail

      • classFilter

        private final java.util.function.Predicate<java.lang.String> classFilter
      • ALL_CLASSES

        public static final java.util.function.Predicate<java.lang.String> ALL_CLASSES
        Class name filter matching all classes.
      • JRE_ONLY

        public static final java.util.function.Predicate<java.lang.String> JRE_ONLY
        Class name filter matching classes in the core Java standard library. This includes everything under java. and javax..
      • JCL_ONLY

        public static final java.util.function.Predicate<java.lang.String> JCL_ONLY
        Class name filter matching classes in the Java Class Library. The Java Class Library is the Java standard library; this filter includes all packages listed in the java.se module of Java 21, as well as java.corba as of Java 9. In this way, it encompasses the JCL of all Java version from Java 8 to 21.
    • Constructor Detail

      • ReflectionTypeSolver

        public ReflectionTypeSolver​(java.util.function.Predicate<java.lang.String> classFilter)
        Parameters:
        classFilter - a name-based filter indicating which types to resolve. Similarily to ReflectionTypeSolver(boolean), this allows you to specify "I need to resolve certain classes (like the Java standard library), and whatever is available on the classpath is fine.".
        See Also:
        ALL_CLASSES, JRE_ONLY, JCL_ONLY
      • ReflectionTypeSolver

        public ReflectionTypeSolver​(boolean jreOnly)
        Parameters:
        jreOnly - if true, will only resolve types from the java or javax packages. This is an easy way to say "I need a JRE to solve classes, and the one that is currently running is fine." If false, will resolve any kind of type.
      • ReflectionTypeSolver

        public ReflectionTypeSolver()
        Resolves classes from the JRE that is currently running. (It calls the other constructor with "true".)