org.carrot2.util.ReflectionUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of carrot2-mini Show documentation
Show all versions of carrot2-mini Show documentation
Carrot2 search results clustering framework. Minimal functional subset
(core algorithms and infrastructure, no document sources).
/*
* Carrot2 project.
*
* Copyright (C) 2002-2013, Dawid Weiss, Stanisław Osiński.
* All rights reserved.
*
* Refer to the full license file "carrot2.LICENSE"
* in the root folder of the repository checkout or at:
* http://www.carrot2.org/carrot2.LICENSE
*/
package org.carrot2.util;
/**
* Utilities related to Java reflection.
*/
public final class ReflectionUtils
{
private ReflectionUtils()
{
// No instances.
}
/**
* Load and initialize (or return, if already defined) a given class using context
* class loader. If class cannot be found, a {@link ClassNotFoundException} is thrown
* and logged.
*/
public static Class> classForName(String clazzName) throws ClassNotFoundException
{
return classForName(clazzName, true);
}
/**
* Load and initialize (or return, if already defined) a given class using context
* class loader.
*
* @param clazzName class name to load
* @param logWarning if true
, a warning will be logged if class cannot be found
*/
public static Class> classForName(String clazzName, boolean logWarning)
throws ClassNotFoundException
{
try
{
return Class.forName(clazzName, true, Thread.currentThread()
.getContextClassLoader());
}
catch (ClassNotFoundException e)
{
if (logWarning)
{
org.slf4j.LoggerFactory.getLogger(ReflectionUtils.class).warn(
"Could not load class: " + clazzName + " (" + e.getMessage() + ").");
}
throw e;
}
}
}