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