--- /dev/null
+package org.simantics.scl.reflection.internal.registry;\r
+\r
+import java.lang.reflect.Method;\r
+\r
+import org.osgi.framework.Bundle;\r
+\r
+public class ExternalMethod {\r
+ public final Bundle bundle;\r
+ public final String className;\r
+ public final String methodName;\r
+ public final String alternativeName;\r
+ \r
+ public ExternalMethod(Bundle bundle, String className, String methodName,\r
+ String alternativeName) {\r
+ this.bundle = bundle;\r
+ this.className = className;\r
+ this.methodName = methodName;\r
+ this.alternativeName = alternativeName;\r
+ } \r
+ \r
+ public Class<?> loadClass() {\r
+ try {\r
+ return bundle.loadClass(className);\r
+ } catch (ClassNotFoundException e) {\r
+ return null;\r
+ } \r
+ }\r
+ \r
+ public Method getMethod(Class<?> clazz) {\r
+ for(Method method : clazz.getMethods())\r
+ if(method.getName().equals(methodName))\r
+ return method;\r
+ return null;\r
+ }\r
+}\r