[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