/** * Utilities for getting the calling class's name and package name. * * @author SBrunning * */ public class ClassName { /** * Get the calling class's fully qualified class name. * * @return The calling class's fully qualified class name. */ public static String getQualifiedClassName() { return new Exception().getStackTrace()[1].getClassName(); } /** * Get the calling class's class name. * * @return The calling class's class name. */ public static Object getClassName() { String qualifiedClassName = new Exception().getStackTrace()[1].getClassName(); return qualifiedClassName.substring(qualifiedClassName.lastIndexOf('.') + 1, qualifiedClassName.length()); } /** * Get the calling class's package name. * * @return The calling class's package name. */ public static Object getPackageName() { String qualifiedClassName = new Exception().getStackTrace()[1].getClassName(); return qualifiedClassName.substring(0, qualifiedClassName.lastIndexOf('.')); } }