/** * Get all super-interfaces of a class, excluding the * given base interface. * Returns a set of strings containing class names. */ public static Set getSuperInterfaces(ClassLoader cl, String className, String baseClassName) throws ClassNotFoundException { Set allSuper = new HashSet(); if( !className.equals(baseClassName) ) { Class theClass = cl.loadClass(className); Class[] superInterfaces = theClass.getInterfaces(); for(int superIndex = 0; superIndex < superInterfaces.length; superIndex++) { Class currentClass = superInterfaces[superIndex]; String currentClassName = currentClass.getName(); if( !currentClassName.equals(baseClassName) ) { allSuper.add(currentClassName); allSuper.addAll(getSuperInterfaces(cl, currentClassName, baseClassName)); } } // End for -- each super interface } return allSuper; }
private boolean hasSameSignatureAsExisting(java.lang.reflect.Method toMatch, Set<java.lang.reflect.Method> methods) { boolean sameSignature = false; for(java.lang.reflect.Method m : methods) { if( TypeUtil.sameMethodSignature(m, toMatch) ) { sameSignature = true; break; } } return sameSignature; }
/** * Compares the signatures of two methods to see if they * have the same method name, parameters, and return type. * * Note that this equality check does NOT cover : * 1) declaring class 2) exceptions * */ public static boolean sameMethodSignature(Method m1, Method m2) { boolean same = false; if(m1.getName().equals(m2.getName())) { same = sameParamTypes(m1, m2) && sameReturnTypes(m1, m2); } return same; }
/** * Add commas to a number for "123,456.7" style formatting. * @deprecated Use standard java.* APIs which create the correct * localized number format. */ public static String addCommas(float f) { String floatStr = truncateFloat(f, 0); return addCommas(floatStr); }
if( next.getCreateMethod().getName().equals(methodName) && TypeUtil.sameParamTypes(m, invInfo.method) ) { initMethod = m; break;
return TypeUtil.getDeclaredMethod (declaringClass, classloader, getName(), javaParamClassNames); return TypeUtil.getMethod(ejbClass, classloader, getName(), javaParamClassNames); Class homeClass = classloader.loadClass (ejbDescriptor.getHomeClassName()); return TypeUtil.getMethod(homeClass, classloader, getName(), javaParamClassNames); Class cl = classloader.loadClass (ejbDescriptor.getLocalHomeClassName()); return TypeUtil.getMethod(cl, classloader, getName(), javaParamClassNames); Class cl = classloader.loadClass (ejbDescriptor.getWebServiceEndpointInterfaceName()); return TypeUtil.getMethod(cl, classloader, getName(), javaParamClassNames); Class homeClass = classloader.loadClass(ejbDescriptor.getHomeClassName()); method = TypeUtil.getMethod(homeClass, classloader, getName(), javaParamClassNames); } catch(NoSuchMethodException nsme) {} Class cl = classloader.loadClass(
public Method getMethod(Class declaringClass) { try { return TypeUtil.getMethod(declaringClass, declaringClass.getClassLoader(), getName(), getJavaParameterClassNames()); } catch(Exception e) { _logger.log(Level.SEVERE,"enterprise.deployment.backend.methodClassLoadFailure",new Object[]{declaringClass}); return null; } }
public Method getDeclaredMethod(Class declaringClass) { try { return TypeUtil.getDeclaredMethod(declaringClass, declaringClass.getClassLoader(), getName(), getJavaParameterClassNames()); } catch(Exception e) { _logger.log(Level.SEVERE,"enterprise.deployment.backend.methodClassLoadFailure",new Object[]{declaringClass}); return null; } }
public void setMethodName(String methodName) { this.methodName = methodName; // Method name follows java beans setter syntax this.targetName = TypeUtil.setterMethodToPropertyName(methodName); ; }
public Method getDeclaredMethod(EjbDescriptor ejbDescriptor) { ClassLoader classloader = ejbDescriptor.getEjbBundleDescriptor().getClassLoader(); try { Class[] parameterTypes = TypeUtil.paramClassNamesToTypes( getJavaParameterClassNames(), classloader); return getDeclaredMethod(ejbDescriptor, parameterTypes); } catch(Exception e) { _logger.log(Level.SEVERE,"enterprise.deployment.backend.methodClassLoadFailure",new Object[]{e, ejbDescriptor}); } return null; }
propertyNameToSetterMethod(injectTargetName);
if( next.getCreateMethod().getName().equals(methodName) && TypeUtil.sameParamTypes(m, invInfo.method) ) { initMethod = m; break;
return TypeUtil.getDeclaredMethod (declaringClass, classloader, getName(), javaParamClassNames); return TypeUtil.getMethod(ejbClass, classloader, getName(), javaParamClassNames); Class homeClass = classloader.loadClass (ejbDescriptor.getHomeClassName()); return TypeUtil.getMethod(homeClass, classloader, getName(), javaParamClassNames); Class cl = classloader.loadClass (ejbDescriptor.getLocalHomeClassName()); return TypeUtil.getMethod(cl, classloader, getName(), javaParamClassNames); Class cl = classloader.loadClass (ejbDescriptor.getWebServiceEndpointInterfaceName()); return TypeUtil.getMethod(cl, classloader, getName(), javaParamClassNames); Class homeClass = classloader.loadClass(ejbDescriptor.getHomeClassName()); method = TypeUtil.getMethod(homeClass, classloader, getName(), javaParamClassNames); } catch(NoSuchMethodException nsme) {} Class cl = classloader.loadClass(
public Method getMethod(Class declaringClass) { try { return TypeUtil.getMethod(declaringClass, declaringClass.getClassLoader(), getName(), getJavaParameterClassNames()); } catch(Exception e) { _logger.log(Level.SEVERE,"enterprise.deployment.backend.methodClassLoadFailure",new Object[]{declaringClass}); return null; } }
/** * Add commas to a number for "123,456.7" style formatting. * @deprecated Use standard java.* APIs which create the correct * localized number format. */ public static String addCommas(float f) { String floatStr = truncateFloat(f, 0); return addCommas(floatStr); }
public Method getDeclaredMethod(Class declaringClass) { try { return TypeUtil.getDeclaredMethod(declaringClass, declaringClass.getClassLoader(), getName(), getJavaParameterClassNames()); } catch(Exception e) { _logger.log(Level.SEVERE,"enterprise.deployment.backend.methodClassLoadFailure",new Object[]{declaringClass}); return null; } }
public void setMethodName(String methodName) { this.methodName = methodName; // Method name follows java beans setter syntax this.targetName = TypeUtil.setterMethodToPropertyName(methodName); ; }
public Method getDeclaredMethod(EjbDescriptor ejbDescriptor) { ClassLoader classloader = ejbDescriptor.getEjbBundleDescriptor().getClassLoader(); try { Class[] parameterTypes = TypeUtil.paramClassNamesToTypes( getJavaParameterClassNames(), classloader); return getDeclaredMethod(ejbDescriptor, parameterTypes); } catch(Exception e) { _logger.log(Level.SEVERE,"enterprise.deployment.backend.methodClassLoadFailure",new Object[]{ejbDescriptor}); } return null; }
propertyNameToSetterMethod(injectTargetName);
private boolean hasSameSignatureAsExisting(java.lang.reflect.Method toMatch, Set<java.lang.reflect.Method> methods) { boolean sameSignature = false; for(java.lang.reflect.Method m : methods) { if( TypeUtil.sameMethodSignature(m, toMatch) ) { sameSignature = true; break; } } return sameSignature; }