Package org.adoptopenjdk.jitwatch.util

Source Code of org.adoptopenjdk.jitwatch.util.ClassUtil

/*
* Copyright (c) 2013, 2014 Chris Newland.
* Licensed under https://github.com/AdoptOpenJDK/jitwatch/blob/master/LICENSE-BSD
* Instructions: https://github.com/AdoptOpenJDK/jitwatch/wiki
*/
package org.adoptopenjdk.jitwatch.util;

import org.adoptopenjdk.jitwatch.core.JITWatchConstants;
import org.adoptopenjdk.jitwatch.loader.DisposableURLClassLoader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public final class ClassUtil
{
  private static DisposableURLClassLoader disposableClassLoader = new DisposableURLClassLoader(new ArrayList<URL>());

  private static final Logger logger = LoggerFactory.getLogger(ClassUtil.class);

  private ClassUtil()
  {
  }

  public static void initialise(final List<URL> urls)
  {
    if (JITWatchConstants.DEBUG_LOGGING)
    {
      for (URL url : urls)
      {
        logger.debug("Adding classpath to DisposableURLClassLoader {}", url);
      }
    }
   
    disposableClassLoader = new DisposableURLClassLoader(urls);
  }

  public static Class<?> loadClassWithoutInitialising(String fqClassName) throws ClassNotFoundException
  {
    return Class.forName(fqClassName, false, disposableClassLoader);
  }
 
  public static Class<?> loadClassWithoutInitialising(String fqClassName, ClassLoader classLoader) throws ClassNotFoundException
  {
    return Class.forName(fqClassName, false, classLoader);
  }
}
TOP

Related Classes of org.adoptopenjdk.jitwatch.util.ClassUtil

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.