Add additional constructor
Javadoc and tidy up git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/collections/trunk@131191 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
491b06c0a6
commit
224b283473
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/DefaultMapEntry.java,v 1.11 2003/08/31 17:26:43 scolebourne Exp $
|
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//collections/src/java/org/apache/commons/collections/DefaultMapEntry.java,v 1.12 2003/09/25 22:47:14 scolebourne Exp $
|
||||||
* ====================================================================
|
* ====================================================================
|
||||||
*
|
*
|
||||||
* The Apache Software License, Version 1.1
|
* The Apache Software License, Version 1.1
|
||||||
|
@ -63,10 +63,12 @@ import java.util.Map;
|
||||||
* A default implementation of {@link java.util.Map.Entry}
|
* A default implementation of {@link java.util.Map.Entry}
|
||||||
*
|
*
|
||||||
* @since Commons Collections 1.0
|
* @since Commons Collections 1.0
|
||||||
* @version $Revision: 1.11 $ $Date: 2003/08/31 17:26:43 $
|
* @version $Revision: 1.12 $ $Date: 2003/09/25 22:47:14 $
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
|
* @author James Strachan
|
||||||
* @author <a href="mailto:mas@apache.org">Michael A. Smith</a>
|
* @author Michael A. Smith
|
||||||
|
* @author Neil O'Toole
|
||||||
|
* @author Stephen Colebourne
|
||||||
*/
|
*/
|
||||||
public class DefaultMapEntry implements Map.Entry {
|
public class DefaultMapEntry implements Map.Entry {
|
||||||
|
|
||||||
|
@ -76,58 +78,43 @@ public class DefaultMapEntry implements Map.Entry {
|
||||||
private Object value;
|
private Object value;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a new <Code>DefaultMapEntry</Code> with a null key
|
* Constructs a new <code>DefaultMapEntry</code> with a null key
|
||||||
* and null value.
|
* and null value.
|
||||||
*/
|
*/
|
||||||
public DefaultMapEntry() {
|
public DefaultMapEntry() {
|
||||||
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a new <Code>DefaultMapEntry</Code> with the given
|
* Constructs a new <code>DefaultMapEntry</code> with the given
|
||||||
|
* key and given value.
|
||||||
|
*
|
||||||
|
* @param entry the entry to copy, must not be null
|
||||||
|
* @throws NullPointerException if the entry is null
|
||||||
|
*/
|
||||||
|
public DefaultMapEntry(Map.Entry entry) {
|
||||||
|
super();
|
||||||
|
this.key = entry.getKey();
|
||||||
|
this.value = entry.getValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs a new <code>DefaultMapEntry</code> with the given
|
||||||
* key and given value.
|
* key and given value.
|
||||||
*
|
*
|
||||||
* @param key the key for the entry, may be null
|
* @param key the key for the entry, may be null
|
||||||
* @param value the value for the entry, may be null
|
* @param value the value for the entry, may be null
|
||||||
*/
|
*/
|
||||||
public DefaultMapEntry(Object key, Object value) {
|
public DefaultMapEntry(Object key, Object value) {
|
||||||
|
super();
|
||||||
this.key = key;
|
this.key = key;
|
||||||
this.value = value;
|
this.value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Implemented per API documentation of
|
|
||||||
* {@link java.util.Map.Entry#equals(Object)}
|
|
||||||
*/
|
|
||||||
public boolean equals(Object o) {
|
|
||||||
if( o == null ) return false;
|
|
||||||
if( o == this ) return true;
|
|
||||||
|
|
||||||
if ( ! (o instanceof Map.Entry ) )
|
|
||||||
return false;
|
|
||||||
Map.Entry e2 = (Map.Entry)o;
|
|
||||||
return ((getKey() == null ?
|
|
||||||
e2.getKey() == null : getKey().equals(e2.getKey())) &&
|
|
||||||
(getValue() == null ?
|
|
||||||
e2.getValue() == null : getValue().equals(e2.getValue())));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Implemented per API documentation of
|
|
||||||
* {@link java.util.Map.Entry#hashCode()}
|
|
||||||
*/
|
|
||||||
public int hashCode() {
|
|
||||||
return ( ( getKey() == null ? 0 : getKey().hashCode() ) ^
|
|
||||||
( getValue() == null ? 0 : getValue().hashCode() ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Map.Entry interface
|
// Map.Entry interface
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the key.
|
* Gets the key from the Map Entry.
|
||||||
*
|
*
|
||||||
* @return the key
|
* @return the key
|
||||||
*/
|
*/
|
||||||
|
@ -136,19 +123,9 @@ public class DefaultMapEntry implements Map.Entry {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the value.
|
* Sets the key stored in this Map Entry.
|
||||||
*
|
* <p>
|
||||||
* @return the value
|
* This Map Entry is not connected to a Map, so only the local data is changed.
|
||||||
*/
|
|
||||||
public Object getValue() {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Properties
|
|
||||||
//-------------------------------------------------------------------------
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the key. This method does not modify any map.
|
|
||||||
*
|
*
|
||||||
* @param key the new key
|
* @param key the new key
|
||||||
*/
|
*/
|
||||||
|
@ -157,11 +134,21 @@ public class DefaultMapEntry implements Map.Entry {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Note that this method only sets the local reference inside this object and
|
* Gets the value from the Map Entry.
|
||||||
* does not modify the original Map.
|
|
||||||
*
|
*
|
||||||
* @return the old value of the value
|
* @return the value
|
||||||
* @param value the new value
|
*/
|
||||||
|
public Object getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value stored in this Map Entry.
|
||||||
|
* <p>
|
||||||
|
* This Map Entry is not connected to a Map, so only the local data is changed.
|
||||||
|
*
|
||||||
|
* @param value the new value
|
||||||
|
* @return the previous value
|
||||||
*/
|
*/
|
||||||
public Object setValue(Object value) {
|
public Object setValue(Object value) {
|
||||||
Object answer = this.value;
|
Object answer = this.value;
|
||||||
|
@ -169,4 +156,39 @@ public class DefaultMapEntry implements Map.Entry {
|
||||||
return answer;
|
return answer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Basics
|
||||||
|
//-----------------------------------------------------------------------
|
||||||
|
/**
|
||||||
|
* Compares this Map Entry with another Map Entry.
|
||||||
|
* <p>
|
||||||
|
* Implemented per API documentation of {@link java.util.Map.Entry#equals(Object)}
|
||||||
|
*
|
||||||
|
* @param obj the object to compare to
|
||||||
|
* @return true if equal key and value
|
||||||
|
*/
|
||||||
|
public final boolean equals(Object obj) {
|
||||||
|
if (obj == this) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (obj instanceof Map.Entry == false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
Map.Entry other = (Map.Entry) obj;
|
||||||
|
return
|
||||||
|
(getKey() == null ? other.getKey() == null : getKey().equals(other.getKey())) &&
|
||||||
|
(getValue() == null ? other.getValue() == null : getValue().equals(other.getValue()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets a hashCode compatible with the equals method.
|
||||||
|
* <p>
|
||||||
|
* Implemented per API documentation of {@link java.util.Map.Entry#hashCode()}
|
||||||
|
*
|
||||||
|
* @return a suitable hashcode
|
||||||
|
*/
|
||||||
|
public final int hashCode() {
|
||||||
|
return (getKey() == null ? 0 : getKey().hashCode()) ^
|
||||||
|
(getValue() == null ? 0 : getValue().hashCode());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue