Commit 86c9776b by Mark Wielaard Committed by Mark Wielaard

ArrayList.java: Remove RCS keywords from comments

    * java/util/ArrayList.java: Remove RCS keywords from comments
    * java/util/BasicMapEntry.java: idem
    * java/util/Dictionary.java: idem
    * java/util/HashSet.java: idem

    * java/util/EventObject.java: reindent
    * java/util/Properties.java: idem
    * java/util/SortedMap.java: idem

    * java/util/Enumeration.java: Merge with Classpath
    * java/util/EventListener.java: idem
    * java/util/Observable.java: idem
    * java/util/Observer.java: idem
    * java/util/Stack.java: idem

From-SVN: r40639
parent 80fc2e84
2001-03-19 Mark Wielaard <mark@klomp.org>
* java/util/ArrayList.java: Remove RCS keywords from comments
* java/util/BasicMapEntry.java: idem
* java/util/Dictionary.java: idem
* java/util/HashSet.java: idem
* java/util/EventObject.java: reindent
* java/util/Properties.java: idem
* java/util/SortedMap.java: idem
* java/util/Enumeration.java: Merge with Classpath
* java/util/EventListener.java: idem
* java/util/Observable.java: idem
* java/util/Observer.java: idem
* java/util/Stack.java: idem
2001-03-17 Tom Tromey <tromey@redhat.com>
* java/lang/natString.cc (rehash): Don't bother with memset;
......
......@@ -40,7 +40,6 @@ import java.io.ObjectOutputStream;
* to or removing from the end of a list, checking the size, &c.
*
* @author Jon A. Zeppieri
* @version $Id: ArrayList.java,v 1.12 2000/12/17 07:54:39 cbj Exp $
* @see java.util.AbstractList
* @see java.util.List
*/
......
......@@ -33,8 +33,6 @@ package java.util;
* Hashtable.
*
* @author Jon Zeppieri
* @version $Revision: 1.5 $
* @modified $Id: BasicMapEntry.java,v 1.5 2000/10/26 10:19:00 bryce Exp $
*/
class BasicMapEntry implements Map.Entry
{
......
......@@ -40,8 +40,6 @@ package java.util;
* in the Collections framework.
*
* @author Jon Zeppieri
* @version $Revision: 1.4 $
* @modified $Id: Dictionary.java,v 1.4 2000/10/26 10:19:00 bryce Exp $
*/
public abstract class Dictionary extends Object
{
......
/* Copyright (C) 1998, 1999 Free Software Foundation
/* Enumeration.java -- Interface for enumerating lists of objects
Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
This file is part of libgcj.
This file is part of GNU Classpath.
This software is copyrighted work licensed under the terms of the
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA.
As a special exception, if you link this library with other files to
produce an executable, this library does not by itself cause the
resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
package java.util;
/**
* @author Warren Levy <warrenl@cygnus.com>
* @date August 25, 1998.
*/
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
* "The Java Language Specification", ISBN 0-201-63451-1.
* Status: Believed complete and correct
*/
/**
* Interface for lists of objects that can be returned in sequence. Successive
* objects are obtained by the nextElement method.
* <p>
* As of Java 1.2, the Iterator interface provides the same functionality, but
* with shorter method names and a new optional method to remove items from the
* list. If writing for 1.2, consider using Iterator instead. Enumerations over
* the new collections classes, for use with legacy APIs that require them, can
* be obtained by the enumeration method in class Collections.
*
* @author Warren Levy <warrenl@cygnus.com>
* @date August 25, 1998.
*/
public interface Enumeration
{
public boolean hasMoreElements();
public Object nextElement() throws NoSuchElementException;
/**
* Tests whether there are elements remaining in the enumeration.
*
* @return true if there is at least one more element in the enumeration,
* that is, if the next call to nextElement will not throw a
* NoSuchElementException.
*/
boolean hasMoreElements();
/**
* Obtain the next element in the enumeration.
*
* @return the next element in the enumeration
* @exception NoSuchElementException if there are no more elements
*/
Object nextElement() throws NoSuchElementException;
}
// EventListener.java - Listen for events from event source.
/* An interface that all event listener interfaces must extend
Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
/* Copyright (C) 1998, 1999 Free Software Foundation
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA.
As a special exception, if you link this library with other files to
produce an executable, this library does not by itself cause the
resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
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 Tom Tromey <tromey@cygnus.com>
* @date December 12, 1998
*/
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
* "The Java Language Specification", ISBN 0-201-63451-1
* Status: Believed complete and correct.
*/
/**
* Empty interface that is implemented by classes that need to receive
* events. Subinterfaces define methods that can be called to fire an
* event notification. Normally the name of these subinterfaces end in
* <code>Listener</code> and all method described by the subinterface
* take as argument an subclass of <code>EventObject</code>.
*
* @author Tom Tromey <tromey@cygnus.com>
* @date December 12, 1998
*/
public interface EventListener
{
}
/* EventObject.java - Represent events fired by objects.
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU Classpath.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA.
As a special exception, if you link this library with other files to
produce an executable, this library does not by itself cause the
resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
As a special exception, if you link this library with other files to
produce an executable, this library does not by itself cause the
resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
package java.util;
......
......@@ -45,8 +45,6 @@ import java.io.ObjectOutputStream;
* HashSet is a part of the JDK1.2 Collections API.
*
* @author Jon Zeppieri
* @version $Revision: 1.3 $
* @modified $Id: HashSet.java,v 1.3 2001/02/15 05:12:05 bryce Exp $
*/
public class HashSet extends AbstractSet
implements Set, Cloneable, Serializable
......
/* Copyright (C) 1998, 1999 Free Software Foundation
/* java.util.Observable
Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of libgcj.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA.
As a special exception, if you link this library with other files to
produce an executable, this library does not by itself cause the
resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
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 September 2, 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.
*/
/**
* @author Warren Levy <warrenl@cygnus.com>
* @date September 2, 1998.
*/
public class Observable
{
/* tracks whether this object has changed */
/** tracks whether this object has changed */
private boolean changed;
/* list of the Observers registered as interested in this Observable */
private Vector observerVec;
private Vector observers;
/* TBD: This might be better implemented as an Observer[]
* but that would mean writing more code rather than making use of
......@@ -34,63 +53,101 @@ public class Observable
* we may decide to make the tradeoff and reimplement with an Observer[].
*/
/**
* Constructs an Observable with zero Observers.
*/
public Observable()
{
changed = false;
observerVec = new Vector();
observers = new Vector();
}
public synchronized void addObserver(Observer obs)
/**
* Adds an Observer. If the observer was already added this method does
* nothing.
*
* @param observer Observer to add.
*/
public synchronized void addObserver(Observer observer)
{
// JDK 1.2 spec says not to add this if it is already there
if (!observerVec.contains(obs))
observerVec.addElement(obs);
if (!observers.contains(observer))
observers.addElement(observer);
}
/**
* Reset this Observable's state to unchanged.
*/
protected synchronized void clearChanged()
{
changed = false;
}
/**
* @return Number of Observers for this Observable.
*/
public synchronized int countObservers()
{
return observerVec.size();
return observers.size();
}
public synchronized void deleteObserver(Observer obs)
/**
* Deletes an Observer of this Observable.
*
* @param victim Observer to delete.
*/
public synchronized void deleteObserver(Observer victim)
{
observerVec.removeElement(obs);
observers.removeElement(victim);
}
/**
* Deletes all Observers of this Observable.
*/
public synchronized void deleteObservers()
{
observerVec.removeAllElements();
observers.removeAllElements();
}
/**
* @return Whether or not this Observable has changed.
*/
public synchronized boolean hasChanged()
{
return changed;
}
/**
* If the Observable has actually changed then tell all Observers about it,
* then resets state to unchanged.
*/
public void notifyObservers()
{
notifyObservers(null);
}
public void notifyObservers(Object arg)
/**
* If the Observable has actually changed then tell all Observers about it,
* then resets state to unchanged.
* Note that though the order of notification is unspecified in subclasses,
* in Observable it is in the order of registration.
*
* @param obj Arguement to Observer's update method.
*/
public void notifyObservers(Object obj)
{
if (changed)
{
/* The JDK 1.2 spec states that though the order of notification
* is unspecified in subclasses, in Observable it is in the order
* of registration.
*/
for (int i = 0, numObs = observerVec.size(); i < numObs; i++)
((Observer) (observerVec.elementAt(i))).update(this, arg);
changed = false;
}
if (!hasChanged())
return;
Vector ob1 = (Vector) observers.clone();
for (int i = 0; i < ob1.size(); i++)
((Observer) ob1.elementAt(i)).update(this, obj);
clearChanged();
}
/**
* Marks this Observable as having changed.
*/
protected synchronized void setChanged()
{
changed = true;
......
/* Copyright (C) 1998, 1999 Free Software Foundation
/* Implemented when a class wants to be informed of changes in Observable
objects.
Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
This file is part of libgcj.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA.
As a special exception, if you link this library with other files to
produce an executable, this library does not by itself cause the
resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
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 25, 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
*/
/**
* Interface that is implemented when a class wants to be informed of changes
* in Observable objects.
*
* @see java.util.Observable
* @author Warren Levy <warrenl@cygnus.com>
* @date August 25, 1998.
*/
public interface Observer
{
public void update(Observable observed, Object arg);
public void update(Observable observable, Object arg);
}
......@@ -7,7 +7,7 @@ GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
......@@ -30,7 +30,8 @@ executable file might be covered by the GNU General Public License. */
package java.util;
public interface SortedMap extends Map {
public interface SortedMap extends Map
{
Comparator comparator();
Object firstKey();
SortedMap headMap(Object toKey);
......
/* Copyright (C) 1998, 1999 Free Software Foundation
/* Stack.java - Class that provides a Last In First Out (LIFO)
datatype, known more commonly as a Stack
Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
This file is part of libgcj.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA.
As a special exception, if you link this library with other files to
produce an executable, this library does not by itself cause the
resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
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
*/
/**
* Stack provides a Last In First Out (LIFO) data type, commonly known
* as a Stack.
*
* Stack itself extends Vector and provides the additional methods
* for stack manipulation (push, pop, peek).
*
* @author Warren Levy <warrenl@cygnus.com>
* @date August 20, 1998.
*/
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()
private static final long serialVersionUID = 1224463164541339165L;
/**
* This constructor creates a new Stack, initially empty
*/
public Stack()
{
return elementCount == 0;
super();
}
public synchronized Object peek()
/**
* Pushes an Object onto the top of the stack. This method is effectively
* the same as addElement(item)
*
* @param item the Object to push onto the stack
* @returns the Object pushed onto the stack
* @see java.util.Vector#addElement(java.util.Object)
*/
public Object push(Object item)
{
if (elementCount == 0)
throw new EmptyStackException();
// 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!
return elementData[elementCount - 1];
addElement(item);
return item;
}
/**
* Pops an item from the stack and returns it. The item popped is
* removed from the Stack
*
* @returns the Object popped from the stack
*/
public synchronized Object pop()
{
if (elementCount == 0)
......@@ -49,28 +96,44 @@ public class Stack extends Vector
return obj;
}
public Object push(Object obj)
/**
* Returns the top Object on the stack without removing it
*
* @returns the top Object on the stack
*/
public synchronized Object peek()
{
// 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!
if (elementCount == 0)
throw new EmptyStackException();
addElement(obj);
return obj;
return elementData[elementCount - 1];
}
public synchronized int search(Object obj)
/**
* Tests if the stack is empty
*
* @returns true if the stack contains no items, false otherwise
*/
public boolean empty()
{
// 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
return elementCount == 0;
}
/**
* Returns the position of an Object on the stack, with the top
* most Object being at position 1, and each Object deeper in the
* stack at depth + 1
*
* @param o The object to search for
* @returns The 1 based depth of the Object, or -1 if the Object
* is not on the stack.
*/
public synchronized int search(Object o)
{
for (int i = elementCount-1; i >=0; --i)
if (elementData[i].equals(obj))
return elementCount - i;
if (elementData[i].equals(o))
return elementCount - i;
return -1;
}
private static final long serialVersionUID = 1224463164541339165L;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment