|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.moesol.bindings.DispatchJavaMethod
public class DispatchJavaMethod
Internal helper. Record the dispatch id, invocation kind, reflection method, method name, and method signature. This class is used by the native GenericIDispatch class to call the correct Java method when IDispatch::Invoke is called. It is also used by the ComInterfaceThunk to call the correct Java method when the vtable entry is thunked.
Constructor Summary | |
---|---|
DispatchJavaMethod(int disp_id,
short invkind,
String name,
String sig)
Construct a Dispatch ID to Java Method mapping. |
Method Summary | |
---|---|
void |
fillInMethod(Class iface_class)
Fill in the Java Method for this mapping if not already filled in. |
static Class |
findDispClassForIID(Object object,
GUID iid)
Find the Disp implementation class for an IID. |
int |
getDispId()
|
short |
getInvKind()
|
Method |
getJavaMethod()
|
String |
getMethodName()
|
String |
getMethodSig()
|
Object |
invoke(Object target,
Object[] args)
Call underlying Java method. |
boolean |
isMatch(int disp_id,
short invkind)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DispatchJavaMethod(int disp_id, short invkind, String name, String sig)
disp_id
- dispatch idinvkind
- invocation kind (DISPATCH_METHOD, DISPATCH_PROPERTYGET,
DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF).name
- Java method namesig
- JNI method signatureMethod Detail |
---|
public static Class findDispClassForIID(Object object, GUID iid)
object
- A Java object we think implements an interface with an IID of
iid
.iid
- The GUID we are trying to find.
COMException
- if we cannot find the class.public boolean isMatch(int disp_id, short invkind)
public Object invoke(Object target, Object[] args) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException
target
- args
-
IllegalArgumentException
IllegalAccessException
InvocationTargetException
public int getDispId()
public short getInvKind()
public Method getJavaMethod()
public String getMethodName()
public String getMethodSig()
public void fillInMethod(Class iface_class) throws NoSuchMethodException
iface_class
-
NoSuchMethodException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |