You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by kn...@apache.org on 2007/04/04 02:06:41 UTC

svn commit: r525335 - /incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/util/lang/EnumeratedType.java

Author: knopp
Date: Tue Apr  3 17:06:41 2007
New Revision: 525335

URL: http://svn.apache.org/viewvc?view=rev&rev=525335
Log:
preserve identity after serialization

Modified:
    incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/util/lang/EnumeratedType.java

Modified: incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/util/lang/EnumeratedType.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/util/lang/EnumeratedType.java?view=diff&rev=525335&r1=525334&r2=525335
==============================================================================
--- incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/util/lang/EnumeratedType.java (original)
+++ incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/util/lang/EnumeratedType.java Tue Apr  3 17:06:41 2007
@@ -18,6 +18,7 @@
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -73,5 +74,29 @@
 		}
 
 		return valueList;
+	}
+	
+	/**
+	 * Method to ensure that == works after deserialization
+	 * @return object instance
+	 * @throws java.io.ObjectStreamException
+	 */
+	public Object readResolve() throws java.io.ObjectStreamException 
+	{
+		EnumeratedType result = this;
+		List values = getValues(getClass());
+		if (values != null)
+		{
+			for (Iterator i = values.iterator(); i.hasNext(); )
+			{
+				EnumeratedType type = (EnumeratedType) i.next();
+				if (type.toString() != null && type.toString().equals(this.toString()))
+				{
+					result = type;
+					break;
+				}
+			}
+		}
+		return result;
 	}
 }