Class ReflectionTypeSolver

java.lang.Object
com.github.javaparser.symbolsolver.resolution.typesolvers.ClassLoaderTypeSolver
com.github.javaparser.symbolsolver.resolution.typesolvers.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 Details

    • classFilter

      private final Predicate<String> classFilter
    • ALL_CLASSES

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

      public static final Predicate<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 Predicate<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 Details

    • ReflectionTypeSolver

      public ReflectionTypeSolver(Predicate<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:
    • 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".)
  • Method Details