blob: 62f598915e497c579173581d5fc7fda8dba124ac [file] [log] [blame]
/***********************************************************************************************************************
* Copyright (c) 2008 empolis GmbH and brox IT Solutions GmbH. All rights reserved. This program and the accompanying
* materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors: Ivan Churkin (brox IT Solutions GmbH) - initial creator
**********************************************************************************************************************/
package org.eclipse.smila.management.jmx;
import java.util.HashMap;
import java.util.Map;
import javax.management.ReflectionException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* The Class ClassHelper.
*/
@SuppressWarnings("unchecked")
public final class ClassHelper {
/**
* The Constant EMPTY_SIGNATURE.
*/
public static final String[] EMPTY_SIGNATURE = new String[] {};
/**
* The Constant EMPTY_PARAMS.
*/
public static final Object[] EMPTY_PARAMS = new Object[] {};
/**
* The Constant PRIMITIVES.
*/
@SuppressWarnings("unchecked")
private static final Class[] PRIMITIVES = {//
boolean.class,//
short.class, //
int.class, //
long.class, //
double.class, //
float.class, //
byte.class, //
char.class //
};
/**
* The Constant PRIMITIVES_MAP.
*/
@SuppressWarnings("unchecked")
private static final Map<String, Class> PRIMITIVES_MAP = new HashMap<String, Class>();
static {
for (int i = 0; i < PRIMITIVES.length; i++) {
final Class c = PRIMITIVES[i];
PRIMITIVES_MAP.put(c.getName(), c);
}
}
/**
* The _log.
*/
private static final Log LOG = LogFactory.getLog(ClassHelper.class);
/**
* prevents class helper instance.
*/
private ClassHelper() {
}
/**
* Search class.
*
* @param className
* the class name
*
* @return the class
*
* @throws ReflectionException
* the reflection exception
*/
public static Class searchClass(final String className) throws ReflectionException {
final Class pClass = PRIMITIVES_MAP.get(className);
if (pClass != null) {
return pClass;
}
try {
return Class.forName(className);
} catch (final ClassNotFoundException e) {
LOG.error(e);
throw new ReflectionException(e);
}
}
}