aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/util/BasicMapEntry.java
diff options
context:
space:
mode:
authorAnthony Green <green@redhat.com>2000-08-19 18:19:42 +0000
committerAnthony Green <green@gcc.gnu.org>2000-08-19 18:19:42 +0000
commita729a4e9aba7afb312ee0f15a70979ae75d1a9fe (patch)
tree2dff323eee68e61f9225ea0c6c7f15f7c6bcd624 /libjava/java/util/BasicMapEntry.java
parente76d9acbe9055e6f0ec35f4e5d0893ca10baf643 (diff)
downloadgcc-a729a4e9aba7afb312ee0f15a70979ae75d1a9fe.zip
gcc-a729a4e9aba7afb312ee0f15a70979ae75d1a9fe.tar.gz
gcc-a729a4e9aba7afb312ee0f15a70979ae75d1a9fe.tar.bz2
Attributes.java, [...]: Imported from Classpath.
Sat Aug 19 11:00:53 2000 Anthony Green <green@redhat.com> * java/util/jar/Attributes.java, java/util/jar/JarEntry.java, java/util/jar/JarException.java, java/util/jar/JarFile.java, java/util/jar/JarInputStream.java, java/util/jar/JarOutputStream.java, java/util/jar/Manifest.java, java/util/Set.java, java/util/Map.java, java/util/Bucket.java, java/util/AbstractSet.java, java/util/BasicMapEntry.java, java/security/cert/CRL.java, java/security/cert/CRLException.java, java/security/cert/Certificate.java, java/security/cert/CertificateEncodingException.java, java/security/cert/CertificateException.java, java/security/cert/CertificateExpiredException.java, java/security/cert/CertificateFactory.java, java/security/cert/CertificateFactorySpi.java, java/security/cert/CertificateNotYetValidException.java, java/security/cert/CertificateParsingException.java, java/security/cert/X509CRL.java, java/security/cert/X509CRLEntry.java, java/security/cert/X509Certificate.java, java/security/cert/X509Extension.java: Imported from Classpath. * java/util/Hashtable.java: Imported from Classpath. * java/util/zip/ZipInputStream.java: Create stub for createZipEntry. * gcj/javaprims.h: Updated class list. * Makefile.in, gcj/Makefile.in: Rebuilt. * Makefile.am (ordinary_java_source_files): Add these new classes. From-SVN: r35809
Diffstat (limited to 'libjava/java/util/BasicMapEntry.java')
-rw-r--r--libjava/java/util/BasicMapEntry.java135
1 files changed, 135 insertions, 0 deletions
diff --git a/libjava/java/util/BasicMapEntry.java b/libjava/java/util/BasicMapEntry.java
new file mode 100644
index 0000000..2d6d0e5
--- /dev/null
+++ b/libjava/java/util/BasicMapEntry.java
@@ -0,0 +1,135 @@
+/* BasicMapEntry.java -- a class providing a plain-vanilla implementation of
+ the Map.Entry interface; could be used anywhere in java.util
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+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. */
+
+
+package java.util;
+
+/**
+ * a class which implements Map.Entry
+ *
+ * @author Jon Zeppieri
+ * @version $Revision: 1.3 $
+ * @modified $Id: BasicMapEntry.java,v 1.3 2000/03/15 21:59:07 rao Exp $
+ */
+class BasicMapEntry implements Map.Entry
+{
+ /** the key */
+ Object key;
+ /** the value */
+ Object value;
+
+ /**
+ * construct a new BasicMapEntry with the given key and value
+ *
+ * @param newKey the key of this Entry
+ * @param newValue the value of this Entry
+ */
+ BasicMapEntry(Object newKey, Object newValue)
+ {
+ key = newKey;
+ value = newValue;
+ }
+
+ /**
+ * returns true if <pre>o</pre> is a Map.Entry and
+ * <pre>
+ * (((o.getKey == null) ? (key == null) :
+ * o.getKey().equals(key)) &&
+ * ((o.getValue() == null) ? (value == null) :
+ * o.getValue().equals(value)))
+ * </pre>
+ *
+ * NOTE: the calls to getKey() and getValue() in this implementation
+ * are <i>NOT</i> superfluous and should not be removed. They insure
+ * that subclasses such as HashMapEntry work correctly
+ *
+ * @param o the Object being tested for equality
+ */
+ public boolean equals(Object o)
+ {
+ Map.Entry tester;
+ Object oTestingKey, oTestingValue;
+ Object oKey, oValue;
+ if (o instanceof Map.Entry)
+ {
+ tester = (Map.Entry) o;
+ oKey = getKey();
+ oValue = getValue();
+ oTestingKey = tester.getKey();
+ oTestingValue = tester.getValue();
+ return (((oTestingKey == null) ? (oKey == null) :
+ oTestingKey.equals(oKey)) &&
+ ((oTestingValue == null) ? (oValue == null) :
+ oTestingValue.equals(oValue)));
+ }
+ return false;
+ }
+
+ /** returns the key */
+ public Object getKey()
+ {
+ return key;
+ }
+
+ /** returns the value */
+ public Object getValue()
+ {
+ return value;
+ }
+
+ /** the hashCode() for a Map.Entry is
+ * <pre>
+ * ((getKey() == null) ? 0 : getKey().hashCode()) ^
+ * ((getValue() == null) ? 0 : getValue().hashCode());
+ * </pre>
+ *
+ * NOTE: the calls to getKey() and getValue() in this implementation
+ * are <i>NOT</i> superfluous and should not be removed. They insure
+ * that subclasses such as HashMapEntry work correctly
+ */
+ public int hashCode()
+ {
+ Object oKey = getKey();
+ Object oValue = getValue();
+ return ((oKey == null) ? 0 : oKey.hashCode()) ^
+ ((oValue == null) ? 0 : oValue.hashCode());
+ }
+
+ /**
+ * sets the value of this Map.Entry
+ *
+ * @param newValue the new value of this Map.Entry
+ */
+ public Object setValue(Object newValue)
+ throws java.lang.UnsupportedOperationException, ClassCastException,
+ IllegalArgumentException, NullPointerException
+ {
+ Object oVal = value;
+ value = newValue;
+ return oVal;
+ }
+}