public static <T> T invokeInstanceMethodSafe( Object target, String methodName, Object parameter, Class parameterType ) { try { return invokeInstanceMethod( target, methodName, new Object[]{parameter}, new Class[]{parameterType} ); } catch( Exception exception ) { return null; } }
public static <T> T invokeInstanceMethod( Object target, String methodName ) { return invokeInstanceMethod( target, methodName, (Object[]) null, (Class[]) null ); }
public static <T> T invokeInstanceMethod( Object target, String methodName, Object parameter, Class parameterType ) { return invokeInstanceMethod( target, methodName, new Object[]{parameter}, new Class[]{parameterType} ); }
public static String getLogLevel( ClassLoader loader, String log ) { Object loggerObject = getLoggerObject( loader, log ); Object level = Reflection.invokeInstanceMethod( loggerObject, "getLevel" ); if( level == null ) return ""; return level.toString(); }
public static void setLogLevel( ClassLoader loader, String log, String level ) { Object loggerObject = getLoggerObject( loader, log ); Object levelObject = Reflection.invokeStaticMethod( loader, "org.apache.log4j.Level", "toLevel", new Object[]{level}, new Class[]{String.class} ); Reflection.invokeInstanceMethod( loggerObject, "setLevel", levelObject, levelObject.getClass() ); }
private CatalogService loadCatalogServicePlugin() { // getServiceUtil is a private method, this allows for an impl to be loaded from an internal classloader ServiceLoader loader = Reflection.invokeInstanceMethod( getCascadingServices(), "getServiceUtil" ); Properties defaultProperties = Reflection.getStaticField( getCascadingServices().getClass(), "defaultProperties" ); return (CatalogService) loader.loadServiceFrom( defaultProperties, getProperties(), CatalogService.CATALOG_SERVICE_CLASS_PROPERTY ); }