source: trunk/src/gcc/libjava/java/util/Dictionary.java@ 680

Last change on this file since 680 was 2, checked in by bird, 23 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 4.5 KB
Line 
1/* Dictionary.java -- an abstract (and essentially worthless)
2 class which is Hashtable's superclass
3 Copyright (C) 1998, 2001 Free Software Foundation, Inc.
4
5This file is part of GNU Classpath.
6
7GNU Classpath is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 2, or (at your option)
10any later version.
11
12GNU Classpath is distributed in the hope that it will be useful, but
13WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Classpath; see the file COPYING. If not, write to the
19Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
2002111-1307 USA.
21
22Linking this library statically or dynamically with other modules is
23making a combined work based on this library. Thus, the terms and
24conditions of the GNU General Public License cover the whole
25combination.
26
27As a special exception, the copyright holders of this library give you
28permission to link this library with independent modules to produce an
29executable, regardless of the license terms of these independent
30modules, and to copy and distribute the resulting executable under
31terms of your choice, provided that you also meet, for each linked
32independent module, the terms and conditions of the license of that
33module. An independent module is a module which is not derived from
34or based on this library. If you modify this library, you may extend
35this exception to your version of the library, but you are not
36obligated to do so. If you do not wish to do so, delete this
37exception statement from your version. */
38
39
40package java.util;
41
42/**
43 * A Dictionary maps keys to values; <i>how</i> it does that is
44 * implementation-specific.
45 *
46 * This is an abstract class which has really gone by the wayside.
47 * People at Javasoft are probably embarrassed by it. At this point,
48 * it might as well be an interface rather than a class, but it remains
49 * this poor, laughable skeleton for the sake of backwards compatibility.
50 * At any rate, this was what came before the <pre>Map</pre> interface
51 * in the Collections framework.
52 *
53 * @author Jon Zeppieri
54 * @author Eric Blake <[email protected]>
55 * @see Map
56 * @see Hashtable
57 * @since 1.0
58 * @status updated to 1.4
59 */
60public abstract class Dictionary extends Object
61{
62 /**
63 * Sole constructor (often called implicitly).
64 */
65 public Dictionary()
66 {
67 }
68
69 /**
70 * Returns an Enumeration of the values in this Dictionary.
71 *
72 * @return an Enumeration of the values
73 * @see #keys()
74 */
75 public abstract Enumeration elements();
76
77 /**
78 * Returns the value associated with the supplied key, or null
79 * if no such value exists. Since Dictionaries are not allowed null keys
80 * or elements, a null result always means the key is not present.
81 *
82 * @param key the key to use to fetch the value
83 * @return the mapped value
84 * @throws NullPointerException if key is null
85 * @see #put(Object, Object)
86 */
87 public abstract Object get(Object key);
88
89 /**
90 * Returns true when there are no elements in this Dictionary.
91 *
92 * @return <code>size() == 0</code>
93 */
94 public abstract boolean isEmpty();
95
96 /**
97 * Returns an Enumeration of the keys in this Dictionary
98 *
99 * @return an Enumeration of the keys
100 * @see #elements()
101 */
102 public abstract Enumeration keys();
103
104 /**
105 * Inserts a new value into this Dictionary, located by the
106 * supplied key. Dictionary does not support null keys or values, so
107 * a null return can safely be interpreted as adding a new key.
108 *
109 * @param key the key which locates the value
110 * @param value the value to put into the Dictionary
111 * @return the previous value of the key, or null if there was none
112 * @throws NullPointerException if key or value is null
113 * @see #get(Object)
114 */
115 public abstract Object put(Object key, Object value);
116
117 /**
118 * Removes from the Dictionary the value located by the given key. A null
119 * return safely means that the key was not mapped in the Dictionary.
120 *
121 * @param key the key used to locate the value to be removed
122 * @return the value associated with the removed key
123 * @throws NullPointerException if key is null
124 */
125 public abstract Object remove(Object key);
126
127 /**
128 * Returns the number of values currently in this Dictionary.
129 *
130 * @return the number of keys in the Dictionary
131 */
132 public abstract int size();
133}
Note: See TracBrowser for help on using the repository browser.