/*
* @(#)Stub.java 1.33 05/11/17
*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
/*
* Licensed Materials - Property of IBM
* RMI-IIOP v1.0
* Copyright IBM Corp. 1998 1999 All Rights Reserved
*
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
*/
package javax.rmi.CORBA;
import org.omg.CORBA.ORB;
import org.omg.CORBA.INITIALIZE;
import org.omg.CORBA_2_3.portable.ObjectImpl;
import java.io.IOException;
import java.rmi.RemoteException;
import java.io.File;
import java.io.FileInputStream;
import java.net.MalformedURLException ;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.Properties;
import java.rmi.server.RMIClassLoader;
import com.sun.corba.se.impl.orbutil.GetPropertyAction;
/**
* Base class from which all RMI-IIOP stubs must inherit.
*/
public abstract class Stub extends ObjectImpl
implements java.io.Serializable {
private static final long serialVersionUID = 1087775603798577179L;
// This can only be set at object construction time (no sync necessary).
private transient StubDelegate stubDelegate = null;
private static Class stubDelegateClass = null;
private static final String StubClassKey = "javax.rmi.CORBA.StubClass";
private static final String defaultStubImplName = "com.sun.corba.se.impl.javax.rmi.CORBA.StubDelegateImpl";
static {
Object stubDelegateInstance = (Object) createDelegateIfSpecified(StubClassKey, defaultStubImplName);
if (stubDelegateInstance != null)
stubDelegateClass = stubDelegateInstance.getClass();
}
/**
* Returns a hash code value for the object which is the same for all stubs
* that represent the same remote object.
* @return the hash code value.
*/
public int hashCode() {
if (stubDelegate == null) {
setDefaultDelegate();
}
if (stubDelegate != null) {
return stubDelegate.hashCode(this);
}
return 0;
}
/**
* Compares two stubs for equality. Returns <code>true</code> when used to compare stubs
* that represent the same remote object, and <code>false</code> otherwise.
* @param obj the reference object with which to compare.
* @return <code>true</code> if this object is the same as the <code>obj</code>
* argument; <code>false</code> otherwise.
*/
public boolean equals(java.lang.Object obj) {
if (stubDelegate == null) {
setDefaultDelegate();
}
if (stubDelegate != null) {
return stubDelegate.equals(this, obj);
}
return false;
}
/**
* Returns a string representation of this stub. Returns the same string
* for all stubs that represent the same remote object.
* @return a string representation of this stub.
*/
=1= |