home *** CD-ROM | disk | FTP | other *** search
- package sun.rmi.server;
-
- import java.lang.reflect.Constructor;
- import java.lang.reflect.InvocationTargetException;
- import java.rmi.Remote;
- import java.rmi.RemoteException;
- import java.rmi.StubNotFoundException;
- import java.rmi.server.LogStream;
- import java.rmi.server.ObjID;
- import java.rmi.server.RMIClientSocketFactory;
- import java.rmi.server.RMIServerSocketFactory;
- import java.rmi.server.RemoteRef;
- import java.rmi.server.RemoteStub;
- import java.rmi.server.Skeleton;
- import java.rmi.server.SkeletonNotFoundException;
- import java.security.AccessController;
- import sun.rmi.transport.LiveRef;
- import sun.rmi.transport.tcp.TCPEndpoint;
- import sun.security.action.GetPropertyAction;
-
- public final class RemoteProxy extends RemoteStub {
- static int logLevel = LogStream.parseLevel(getLogLevel());
- private static Class[] stubConsParamTypes;
- // $FF: synthetic field
- static Class class$java$rmi$server$RemoteRef;
- // $FF: synthetic field
- static Class class$java$rmi$Remote;
-
- private static String getLogLevel() {
- return (String)AccessController.doPrivileged(new GetPropertyAction("sun.rmi.server.logLevel"));
- }
-
- private RemoteProxy() {
- }
-
- public static RemoteStub getStub(Remote var0, RemoteRef var1) throws StubNotFoundException {
- Object var2 = null;
-
- try {
- Class var5 = getRemoteClass(var0.getClass());
- return getStub(var5.getName(), var5, var1);
- } catch (ClassNotFoundException var4) {
- throw new StubNotFoundException("Object does not implement an interface that extends java.rmi.Remote: " + var0.getClass().getName());
- }
- }
-
- public static RemoteStub getStub(String var0, RemoteRef var1) throws StubNotFoundException {
- return getStub(var0, (Class)null, var1);
- }
-
- public static RemoteStub getStub(String var0, Class var1, RemoteRef var2) throws StubNotFoundException {
- String var3 = var0 + "_Stub";
- Object var4 = null;
-
- try {
- Class var5 = loadClassFromClass(var3, var1);
- Constructor var6 = var5.getConstructor(stubConsParamTypes);
- RemoteStub var17 = (RemoteStub)var6.newInstance(var2);
- return var17;
- } catch (ClassNotFoundException var11) {
- throw new StubNotFoundException("Stub class not found: " + var3, var11);
- } catch (NoSuchMethodException var12) {
- throw new StubNotFoundException("Stub class missing constructor: " + var3, var12);
- } catch (InstantiationException var13) {
- throw new StubNotFoundException("Can't create instance of stub class: " + var3, var13);
- } catch (IllegalAccessException var14) {
- throw new StubNotFoundException("Stub class constructor not public: " + var3, var14);
- } catch (InvocationTargetException var15) {
- throw new StubNotFoundException("Exception creating instance of stub class: " + var3, var15);
- } catch (ClassCastException var16) {
- throw new StubNotFoundException("Stub class not instance of RemoteStub: " + var3, var16);
- }
- }
-
- public static RemoteStub getStub(String var0, int var1, String var2, int var3) throws RemoteException {
- ObjID var4 = new ObjID(var1);
- TCPEndpoint var5 = new TCPEndpoint(var2, var3);
- LiveRef var6 = new LiveRef(var4, var5, false);
- return getStub((String)var0, new UnicastRef(var6));
- }
-
- public static RemoteStub getStub(String var0, int var1, String var2, int var3, RMIClientSocketFactory var4) throws RemoteException {
- ObjID var5 = new ObjID(var1);
- TCPEndpoint var6 = new TCPEndpoint(var2, var3, var4, (RMIServerSocketFactory)null);
- LiveRef var7 = new LiveRef(var5, var6, false);
- return getStub((String)var0, new UnicastRef2(var7));
- }
-
- public static Skeleton getSkeleton(Remote var0) throws SkeletonNotFoundException {
- Class var1;
- try {
- var1 = getRemoteClass(var0.getClass());
- } catch (ClassNotFoundException var11) {
- throw new SkeletonNotFoundException("Object does not implement an interface that extends java.rmi.Remote: " + var0.getClass().getName());
- }
-
- String var2 = var1.getName() + "_Skel";
-
- try {
- Class var3 = loadClassFromClass(var2, var1);
- return (Skeleton)var3.newInstance();
- } catch (ClassNotFoundException var7) {
- throw new SkeletonNotFoundException("Skeleton class not found: " + var2, var7);
- } catch (InstantiationException var8) {
- throw new SkeletonNotFoundException("Can't create skeleton: " + var2, var8);
- } catch (IllegalAccessException var9) {
- throw new SkeletonNotFoundException("No public constructor: " + var2, var9);
- } catch (ClassCastException var10) {
- throw new SkeletonNotFoundException("Skeleton not of correct class: " + var2, var10);
- }
- }
-
- private static Class loadClassFromClass(String var0, Class var1) throws ClassNotFoundException {
- ClassLoader var2 = null;
- if (var1 != null) {
- var2 = var1.getClassLoader();
- }
-
- return var2 != null ? var2.loadClass(var0) : Class.forName(var0);
- }
-
- static Class getRemoteClass(Class var0) throws ClassNotFoundException {
- while(var0 != null) {
- Class[] var1 = var0.getInterfaces();
-
- for(int var2 = var1.length - 1; var2 >= 0; --var2) {
- if ((class$java$rmi$Remote == null ? (class$java$rmi$Remote = class$("java.rmi.Remote")) : class$java$rmi$Remote).isAssignableFrom(var1[var2])) {
- return var0;
- }
- }
-
- var0 = var0.getSuperclass();
- }
-
- throw new ClassNotFoundException("class does not implement java.rmi.Remote");
- }
-
- // $FF: synthetic method
- static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(((Throwable)var2).getMessage());
- }
- }
-
- static {
- stubConsParamTypes = new Class[]{class$java$rmi$server$RemoteRef == null ? (class$java$rmi$server$RemoteRef = class$("java.rmi.server.RemoteRef")) : class$java$rmi$server$RemoteRef};
- }
- }
-