bc6ccd3316
* java/beans/PropertyChangeEvent.java (serialVersionUID): Added. * java/beans/PropertyVetoException.java (serialVersionUID): Added. * java/io/File.java (writeObject): Added. (readObject): Added. (serialVersionUID): Added. * java/io/ObjectOutputStream.java (writeObject): Initialized fieldsAlreadyWritten before recursion rather than after. * java/io/ObjectStreamClass.java (serialVersionUID): Added. * java/io/OptionalDataException.java (serialVersionUID): Added. (OptionalDataException): Made package private. * java/io/SyncFailedException.java (SyncFailedException): Removed default constructor to match spec. * java/lang/Boolean.java (serialVersionUID): Added. * java/lang/Byte.java (serialVersionUID): Added. * java/lang/Character.java (serialVersionUID): Added. * java/lang/Double.java (serialVersionUID): Added. * java/lang/Float.java (serialVersionUID): Added. * java/lang/Integer.java (serialVersionUID): Added. * java/lang/Long.java (serialVersionUID): Added. * java/lang/Number.java (serialVersionUID): Added. * java/lang/Short.java (serialVersionUID): Added. * java/lang/String.java (serialVersionUID): Added. * java/lang/ThreadDeath.java (ThreadDeath): Removed constructor to match spec. * java/lang/reflect/InvocationTargetException.java (serialVersionUID): Added. * java/net/URL.java (handler): Made transient. (hashCode): Added field for serialization, per spec. and use cached value if available. (serialVersionUID): Added. (URL): Initialize hashCode. (set): Adjust hashCode. (readObject): New Method to initialize the protocol handler when deserializing. (writeObject): New method. * java/text/BreakIterator.java: Removed 'implements Serializable'. * java/text/Collator.java: Removed 'implements Serializable'. * java/util/GregorianCalendar.java (serialVersionUID): Added. * java/util/Properties.java (serialVersionUID): Added. * java/util/Random.java (serialVersionUID): Added. (seed): Made private. (nextNextGaussian): Made private. (haveNextNextGaussian): Made private. * java/util/Stack.java (serialVersionUID): Added. * java/util/TimeZone.java (serialVersionUID): Added. * java/util/Vector.java (serialVersionUID): Added. Serialization mods. From-SVN: r36272
77 lines
1.9 KiB
Java
77 lines
1.9 KiB
Java
/* Copyright (C) 1998, 1999 Free Software Foundation
|
|
|
|
This file is part of libgcj.
|
|
|
|
This software is copyrighted work licensed under the terms of the
|
|
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
|
details. */
|
|
|
|
package java.util;
|
|
|
|
/**
|
|
* @author Warren Levy <warrenl@cygnus.com>
|
|
* @date August 20, 1998.
|
|
*/
|
|
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
|
|
* "The Java Language Specification", ISBN 0-201-63451-1
|
|
* plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
|
|
* Status: Believed complete and correct
|
|
*/
|
|
|
|
public class Stack extends Vector
|
|
{
|
|
// Could use Vector methods internally for the following methods
|
|
// but have used Vector fields directly for efficiency (i.e. this
|
|
// often reduces out duplicate bounds checking).
|
|
|
|
public boolean empty()
|
|
{
|
|
return elementCount == 0;
|
|
}
|
|
|
|
public synchronized Object peek()
|
|
{
|
|
if (elementCount == 0)
|
|
throw new EmptyStackException();
|
|
|
|
return elementData[elementCount - 1];
|
|
}
|
|
|
|
public synchronized Object pop()
|
|
{
|
|
if (elementCount == 0)
|
|
throw new EmptyStackException();
|
|
|
|
Object obj = elementData[--elementCount];
|
|
|
|
// Set topmost element to null to assist the gc in cleanup
|
|
elementData[elementCount] = null;
|
|
return obj;
|
|
}
|
|
|
|
public Object push(Object obj)
|
|
{
|
|
// When growing the Stack, use the Vector routines in case more
|
|
// memory is needed.
|
|
// Note: spec indicates that this method *always* returns obj passed in!
|
|
|
|
addElement(obj);
|
|
return obj;
|
|
}
|
|
|
|
public synchronized int search(Object obj)
|
|
{
|
|
// Return the position of obj on the stack as measured from the top;
|
|
// i.e. the top element is 1, the next element down is 2, etc.
|
|
// If obj is not on the stack, return -1
|
|
|
|
for (int i = elementCount-1; i >=0; --i)
|
|
if (elementData[i].equals(obj))
|
|
return elementCount - i;
|
|
|
|
return -1;
|
|
}
|
|
|
|
private static final long serialVersionUID = 1224463164541339165L;
|
|
}
|