]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.reflection/src/org/simantics/scl/reflection/internal/registry/ExternalMethod.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.scl.reflection / src / org / simantics / scl / reflection / internal / registry / ExternalMethod.java
1 package org.simantics.scl.reflection.internal.registry;\r
2 \r
3 import java.lang.reflect.Method;\r
4 \r
5 import org.osgi.framework.Bundle;\r
6 \r
7 public class ExternalMethod {\r
8     public final Bundle bundle;\r
9     public final String className;\r
10     public final String methodName;\r
11     public final String alternativeName;\r
12     \r
13     public ExternalMethod(Bundle bundle, String className, String methodName,\r
14             String alternativeName) {\r
15         this.bundle = bundle;\r
16         this.className = className;\r
17         this.methodName = methodName;\r
18         this.alternativeName = alternativeName;\r
19     }    \r
20     \r
21     public Class<?> loadClass() {\r
22         try {\r
23             return bundle.loadClass(className);\r
24         } catch (ClassNotFoundException e) {\r
25             return null;\r
26         }   \r
27     }\r
28     \r
29     public Method getMethod(Class<?> clazz) {\r
30         for(Method method : clazz.getMethods())\r
31             if(method.getName().equals(methodName))\r
32                 return method;\r
33         return null;\r
34     }\r
35 }\r