INTEGRATION: CWS kso11 (1.3.36); FILE MERGED
2004/03/11 08:49:32 sb 1.3.36.1: #115880# Cloned 112066.
This commit is contained in:
@@ -2,9 +2,9 @@
|
|||||||
*
|
*
|
||||||
* $RCSfile: ProxyFactory.java,v $
|
* $RCSfile: ProxyFactory.java,v $
|
||||||
*
|
*
|
||||||
* $Revision: 1.3 $
|
* $Revision: 1.4 $
|
||||||
*
|
*
|
||||||
* last change: $Author: hr $ $Date: 2003-08-13 17:22:19 $
|
* last change: $Author: kz $ $Date: 2004-03-25 11:03:32 $
|
||||||
*
|
*
|
||||||
* The Contents of this file are made available subject to the terms of
|
* The Contents of this file are made available subject to the terms of
|
||||||
* either of the following licenses
|
* either of the following licenses
|
||||||
@@ -61,6 +61,7 @@
|
|||||||
|
|
||||||
package com.sun.star.lib.uno.bridges.java_remote;
|
package com.sun.star.lib.uno.bridges.java_remote;
|
||||||
|
|
||||||
|
import com.sun.star.bridge.XBridge;
|
||||||
import com.sun.star.uno.IQueryInterface;
|
import com.sun.star.uno.IQueryInterface;
|
||||||
import com.sun.star.uno.Type;
|
import com.sun.star.uno.Type;
|
||||||
import com.sun.star.uno.UnoRuntime;
|
import com.sun.star.uno.UnoRuntime;
|
||||||
@@ -76,8 +77,9 @@ import java.lang.reflect.Proxy;
|
|||||||
* generic proxy class.</p>
|
* generic proxy class.</p>
|
||||||
*/
|
*/
|
||||||
final class ProxyFactory {
|
final class ProxyFactory {
|
||||||
public ProxyFactory(RequestHandler requestHandler) {
|
public ProxyFactory(RequestHandler requestHandler, XBridge bridge) {
|
||||||
this.requestHandler = requestHandler;
|
this.requestHandler = requestHandler;
|
||||||
|
this.bridge = bridge;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object create(String oid, Type type) {
|
public Object create(String oid, Type type) {
|
||||||
@@ -97,6 +99,16 @@ final class ProxyFactory {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static XBridge getBridge(Object obj) {
|
||||||
|
if (Proxy.isProxyClass(obj.getClass())) {
|
||||||
|
InvocationHandler h = Proxy.getInvocationHandler(obj);
|
||||||
|
if (h instanceof Handler) {
|
||||||
|
return ((Handler) h).getBridge();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
static int getDebugCount() {
|
static int getDebugCount() {
|
||||||
synchronized (debugCountLock) {
|
synchronized (debugCountLock) {
|
||||||
return debugCount;
|
return debugCount;
|
||||||
@@ -126,6 +138,10 @@ final class ProxyFactory {
|
|||||||
return ProxyFactory.this == factory;
|
return ProxyFactory.this == factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public XBridge getBridge() {
|
||||||
|
return bridge;
|
||||||
|
}
|
||||||
|
|
||||||
public Object invoke(Object proxy, Method method, Object[] args)
|
public Object invoke(Object proxy, Method method, Object[] args)
|
||||||
throws Throwable
|
throws Throwable
|
||||||
{
|
{
|
||||||
@@ -191,4 +207,5 @@ final class ProxyFactory {
|
|||||||
private static int debugCount = 0;
|
private static int debugCount = 0;
|
||||||
|
|
||||||
private final RequestHandler requestHandler;
|
private final RequestHandler requestHandler;
|
||||||
|
private final XBridge bridge;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user