Class MyClassLoader

java.lang.Object
java.lang.ClassLoader
com.fasterxml.jackson.module.afterburner.util.MyClassLoader

public class MyClassLoader extends ClassLoader
Class loader that is needed to load generated classes.
  • Field Details

    • _cfgUseParentLoader

      protected final boolean _cfgUseParentLoader
      Flag that determines if we should first try to load new class using parent class loader or not; this may be done to try to force access to protected/package-access properties.
  • Constructor Details

    • MyClassLoader

      public MyClassLoader(ClassLoader parent, boolean tryToUseParent)
  • Method Details

    • canAddClassInPackageOf

      public static boolean canAddClassInPackageOf(Class<?> cls)
      Helper method called to check whether it is acceptable to create a new class in package that given class is part of. This is used to prevent certain class of failures, related to access limitations: for example, we can not add classes in sealed packages, or core Java packages (java.*).
      Since:
      2.2.1
    • loadAndResolve

      public Class<?> loadAndResolve(ClassName className, byte[] byteCode) throws IllegalArgumentException
      Parameters:
      className - Interface or abstract class that class to load should extend or implement
      Throws:
      IllegalArgumentException
    • replaceName

      public static int replaceName(byte[] byteCode, String from, String to)