Imported GNU Classpath 0.90
Imported GNU Classpath 0.90 * scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale. * sources.am: Regenerated. * gcj/javaprims.h: Regenerated. * Makefile.in: Regenerated. * gcj/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * gnu/java/lang/VMInstrumentationImpl.java: New override. * gnu/java/net/local/LocalSocketImpl.java: Likewise. * gnu/classpath/jdwp/VMMethod.java: Likewise. * gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest interface. * java/lang/Thread.java: Add UncaughtExceptionHandler. * java/lang/reflect/Method.java: Implements GenericDeclaration and isSynthetic(), * java/lang/reflect/Field.java: Likewise. * java/lang/reflect/Constructor.java * java/lang/Class.java: Implements Type, GenericDeclaration, getSimpleName() and getEnclosing*() methods. * java/lang/Class.h: Add new public methods. * java/lang/Math.java: Add signum(), ulp() and log10(). * java/lang/natMath.cc (log10): New function. * java/security/VMSecureRandom.java: New override. * java/util/logging/Logger.java: Updated to latest classpath version. * java/util/logging/LogManager.java: New override. From-SVN: r113887
This commit is contained in:
parent
eaec4980e1
commit
4f9533c772
1640 changed files with 126485 additions and 104808 deletions
|
@ -1,5 +1,5 @@
|
|||
/* ActivationID.java --
|
||||
Copyright (c) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
/* ActivationID.java -- the object activation identifier
|
||||
Copyright (c) 1996, 1997, 1998, 1999, 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
|
@ -35,38 +35,165 @@ this exception to your version of the library, but you are not
|
|||
obligated to do so. If you do not wish to do so, delete this
|
||||
exception statement from your version. */
|
||||
|
||||
|
||||
package java.rmi.activation;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.io.Serializable;
|
||||
import java.rmi.Remote;
|
||||
import java.rmi.RemoteException;
|
||||
import java.rmi.server.UID;
|
||||
|
||||
public class ActivationID implements Serializable
|
||||
/**
|
||||
* Denotes the object that can be activated over time. The instance of the
|
||||
* ActivationID for the given object can be obtained in the following ways:
|
||||
* <ul>
|
||||
* <li>via {@link Activatable#register(ActivationDesc)}</li>
|
||||
* <li>via Activatable constructor</li>
|
||||
* <li>via Activatable.exportObject
|
||||
* <li>
|
||||
* </ul>
|
||||
* An instance of the ActivationID has the {@link UID} as its component and
|
||||
* hence is globally unique.
|
||||
*
|
||||
* @author Audrius Meskauskas (audriusa@bioinformatics.org) (from stub)
|
||||
*/
|
||||
public class ActivationID
|
||||
implements Serializable
|
||||
{
|
||||
static final long serialVersionUID = -4608673054848209235L;
|
||||
/**
|
||||
* Use SVUID for interoperability.
|
||||
*/
|
||||
static final long serialVersionUID = - 4608673054848209235L;
|
||||
|
||||
private Activator activator;
|
||||
|
||||
public ActivationID(Activator activator) {
|
||||
this.activator = activator;
|
||||
}
|
||||
|
||||
public Remote activate(boolean force) throws ActivationException, UnknownObjectException, RemoteException {
|
||||
throw new Error("Not implemented");
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return (activator.hashCode());
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj instanceof ActivationID) {
|
||||
ActivationID that = (ActivationID)obj;
|
||||
if (this.activator.equals(that.activator)) {
|
||||
return (true);
|
||||
}
|
||||
}
|
||||
return (false);
|
||||
}
|
||||
/**
|
||||
* The activator.
|
||||
*/
|
||||
transient Activator activator;
|
||||
|
||||
/**
|
||||
* The UID, making this instance unique.
|
||||
*/
|
||||
transient UID uid;
|
||||
|
||||
/**
|
||||
* The activation group that has activated the object with this
|
||||
* activation id. The field is filled in inside the group and is used
|
||||
* to notify the group about the request to inactivated the object.
|
||||
*/
|
||||
transient ActivationGroup group;
|
||||
|
||||
/**
|
||||
* Create a new instance with the given activator.
|
||||
*
|
||||
* @param an_activator tha activator that should activate the object.
|
||||
*/
|
||||
public ActivationID(Activator an_activator)
|
||||
{
|
||||
activator = an_activator;
|
||||
uid = new UID();
|
||||
}
|
||||
|
||||
/**
|
||||
* Activate the object.
|
||||
*
|
||||
* @param force if true, always contact the group. Otherwise, the cached value
|
||||
* may be returned.
|
||||
* @return the activated object
|
||||
* @throws UnknownObjectException if the object is unknown
|
||||
* @throws ActivationException if the activation has failed
|
||||
* @throws RemoteException if the remote call has failed
|
||||
*/
|
||||
public Remote activate(boolean force) throws ActivationException,
|
||||
UnknownObjectException, RemoteException
|
||||
{
|
||||
try
|
||||
{
|
||||
return (Remote) activator.activate(this, force).get();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
ActivationException acex = new ActivationException("id "+uid, e);
|
||||
throw acex;
|
||||
}
|
||||
catch (ClassNotFoundException e)
|
||||
{
|
||||
ActivationException acex = new ActivationException("id "+uid, e);
|
||||
throw acex;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the hash code of the activator.
|
||||
*/
|
||||
public int hashCode()
|
||||
{
|
||||
return uid == null ? 0 : uid.hashCode();
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares the activators for equality.
|
||||
*/
|
||||
public boolean equals(Object obj)
|
||||
{
|
||||
if (obj instanceof ActivationID)
|
||||
{
|
||||
ActivationID that = (ActivationID) obj;
|
||||
return eq(uid, that.uid);
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Read the object from the input stream.
|
||||
*
|
||||
* @param in the stream to read from
|
||||
*
|
||||
* @throws IOException if thrown by the stream
|
||||
* @throws ClassNotFoundException
|
||||
*/
|
||||
private void readObject(ObjectInputStream in) throws IOException,
|
||||
ClassNotFoundException
|
||||
{
|
||||
uid = (UID) in.readObject();
|
||||
activator = (Activator) in.readObject();
|
||||
}
|
||||
|
||||
/**
|
||||
* Write the object to the output stream.
|
||||
*
|
||||
* @param out the stream to write int
|
||||
* @throws IOException if thrown by the stream
|
||||
* @throws ClassNotFoundException
|
||||
*/
|
||||
private void writeObject(ObjectOutputStream out) throws IOException,
|
||||
ClassNotFoundException
|
||||
{
|
||||
out.writeObject(uid);
|
||||
out.writeObject(activator);
|
||||
};
|
||||
|
||||
/**
|
||||
* Compare by .equals if both a and b are not null, compare directly if at
|
||||
* least one of them is null.
|
||||
*/
|
||||
static final boolean eq(Object a, Object b)
|
||||
{
|
||||
if (a == null || b == null)
|
||||
return a == b;
|
||||
else
|
||||
return a.equals(b);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the content based string representation.
|
||||
*/
|
||||
public String toString()
|
||||
{
|
||||
return uid.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue