[jboss-cvs] JBossAS SVN: r69683 - in trunk/profileservice/src/main/org/jboss/metatype/api: values and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Feb 6 22:24:03 EST 2008
Author: scott.stark at jboss.org
Date: 2008-02-06 22:24:03 -0500 (Wed, 06 Feb 2008)
New Revision: 69683
Modified:
trunk/profileservice/src/main/org/jboss/metatype/api/types/MapCompositeMetaType.java
trunk/profileservice/src/main/org/jboss/metatype/api/values/MapCompositeValueSupport.java
Log:
JBAS-5194, add equals, hashCode impls
Modified: trunk/profileservice/src/main/org/jboss/metatype/api/types/MapCompositeMetaType.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/metatype/api/types/MapCompositeMetaType.java 2008-02-07 02:00:50 UTC (rev 69682)
+++ trunk/profileservice/src/main/org/jboss/metatype/api/types/MapCompositeMetaType.java 2008-02-07 03:24:03 UTC (rev 69683)
@@ -32,7 +32,12 @@
{
private static final long serialVersionUID = 1;
private MetaType valueType;
+ /** Cached hash code */
+ private transient int cachedHashCode = Integer.MIN_VALUE;
+ /** Cached string representation */
+ private transient String cachedToString = null;
+
/**
*
* @param valueType
@@ -51,4 +56,27 @@
{
super.addItem(itemName, itemName, valueType);
}
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ return equalsImpl(obj);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ if (cachedHashCode != Integer.MIN_VALUE)
+ return cachedHashCode;
+ cachedHashCode = hashCodeImpl();
+ return cachedHashCode;
+ }
+
+ @Override
+ public String toString()
+ {
+ if (cachedToString == null)
+ cachedToString = super.toString();
+ return cachedToString;
+ }
}
Modified: trunk/profileservice/src/main/org/jboss/metatype/api/values/MapCompositeValueSupport.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/metatype/api/values/MapCompositeValueSupport.java 2008-02-07 02:00:50 UTC (rev 69682)
+++ trunk/profileservice/src/main/org/jboss/metatype/api/values/MapCompositeValueSupport.java 2008-02-07 03:24:03 UTC (rev 69683)
@@ -109,4 +109,34 @@
{
return map.values();
}
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (obj == this)
+ return true;
+
+ if (obj == null || obj instanceof MapCompositeValueSupport == false)
+ return false;
+
+ MapCompositeValueSupport other = (MapCompositeValueSupport) obj;
+ if (mapType.equals(other.getMetaType()) == false)
+ return false;
+
+ Map<String, MetaValue> otherMap = other.map;
+ if (map == null && otherMap == null)
+ return true;
+ if (map == null && otherMap != null)
+ return false;
+ return map.equals(otherMap);
+ }
+ @Override
+ public int hashCode()
+ {
+ return map.hashCode();
+ }
+ @Override
+ public String toString()
+ {
+ return mapType + ":" + map;
+ }
}
More information about the jboss-cvs-commits
mailing list