bayard 2002/11/22 12:07:53
Modified: lang/src/java/org/apache/commons/lang/enum Tag:
LANG_1_0_BRANCH Enum.java
Log:
Applied the two fixes for Enum to the 1.0.1 branch.
1) Bug #13568
2) Removing JDK 1.3 dependency from Enum
Revision Changes Path
No revision
No revision
1.2.2.1 +9 -2
jakarta-commons/lang/src/java/org/apache/commons/lang/enum/Enum.java
Index: Enum.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/enum/Enum.java,v
retrieving revision 1.2
retrieving revision 1.2.2.1
diff -u -r1.2 -r1.2.2.1
--- Enum.java 31 Aug 2002 10:51:02 -0000 1.2
+++ Enum.java 22 Nov 2002 20:07:53 -0000 1.2.2.1
@@ -119,6 +119,10 @@
*/
public abstract class Enum implements Comparable, Serializable {
/**
+ * An empty map, as JDK1.2 didn't have an empty map
+ */
+ private static final Map EMPTY_MAP = Collections.unmodifiableMap(new HashMap());
+ /**
* Map, key of class name, value of Entry.
*/
private static final Map cEnumClasses = new HashMap();
@@ -160,6 +164,9 @@
entry = new Entry();
cEnumClasses.put(getClass().getName(), entry);
}
+ if (entry.map.containsKey(name)) {
+ throw new IllegalArgumentException("The Enum name must be unique, '" +
name + "' has already been added");
+ }
entry.map.put(name, this);
entry.list.add(this);
}
@@ -210,7 +217,7 @@
}
Entry entry = (Entry) cEnumClasses.get(enumClass.getName());
if (entry == null) {
- return Collections.EMPTY_MAP;
+ return EMPTY_MAP;
}
return Collections.unmodifiableMap(entry.map);
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>