home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / rmi / activation / ActivationID.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  3.1 KB  |  78 lines

  1. package java.rmi.activation;
  2.  
  3. import java.io.IOException;
  4. import java.io.ObjectInputStream;
  5. import java.io.ObjectOutputStream;
  6. import java.io.Serializable;
  7. import java.rmi.MarshalledObject;
  8. import java.rmi.Remote;
  9. import java.rmi.RemoteException;
  10. import java.rmi.UnmarshalException;
  11. import java.rmi.server.RemoteObject;
  12. import java.rmi.server.RemoteRef;
  13. import java.rmi.server.UID;
  14. import java.security.AccessController;
  15. import sun.rmi.server.RemoteProxy;
  16. import sun.security.action.GetPropertyAction;
  17.  
  18. public class ActivationID implements Serializable {
  19.    private Activator activator;
  20.    private UID uid = new UID();
  21.    private static final long serialVersionUID = -4608673054848209235L;
  22.    private static String activatorClassName = (String)AccessController.doPrivileged(new GetPropertyAction("java.rmi.activation.activator.class", "sun.rmi.server.Activation$ActivatorImpl"));
  23.  
  24.    public ActivationID(Activator var1) {
  25.       this.activator = var1;
  26.    }
  27.  
  28.    public Remote activate(boolean var1) throws ActivationException, UnknownObjectException, RemoteException {
  29.       try {
  30.          MarshalledObject var2 = this.activator.activate(this, var1);
  31.          return (Remote)var2.get();
  32.       } catch (UnknownObjectException var6) {
  33.          throw var6;
  34.       } catch (RemoteException var7) {
  35.          throw var7;
  36.       } catch (IOException var8) {
  37.          throw new ActivationException("activation failed", var8);
  38.       } catch (ClassNotFoundException var9) {
  39.          throw new ActivationException("activation failed", var9);
  40.       }
  41.    }
  42.  
  43.    public int hashCode() {
  44.       return this.uid.hashCode();
  45.    }
  46.  
  47.    public boolean equals(Object var1) {
  48.       if (!(var1 instanceof ActivationID)) {
  49.          return false;
  50.       } else {
  51.          ActivationID var2 = (ActivationID)var1;
  52.          return this.uid.equals(var2.uid) && this.activator.equals(var2.activator);
  53.       }
  54.    }
  55.  
  56.    private void writeObject(ObjectOutputStream var1) throws IOException, ClassNotFoundException {
  57.       var1.writeObject(this.uid);
  58.       RemoteRef var2 = ((RemoteObject)this.activator).getRef();
  59.       var1.writeUTF(var2.getRefClass(var1));
  60.       var2.writeExternal(var1);
  61.    }
  62.  
  63.    private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  64.       this.uid = (UID)var1.readObject();
  65.  
  66.       try {
  67.          Class var2 = Class.forName("sun.rmi.server." + var1.readUTF());
  68.          RemoteRef var3 = (RemoteRef)var2.newInstance();
  69.          var3.readExternal(var1);
  70.          this.activator = (Activator)RemoteProxy.getStub(activatorClassName, var3);
  71.       } catch (InstantiationException var4) {
  72.          throw new UnmarshalException("Unable to create remote reference", var4);
  73.       } catch (IllegalAccessException var5) {
  74.          throw new UnmarshalException("Illegal access creating remote reference");
  75.       }
  76.    }
  77. }
  78.