Author: sebb Date: Fri May 17 17:02:35 2013 New Revision: 1483915 URL: http://svn.apache.org/r1483915 Log: IO-239 Convert IOCase to a Java 1.5+ Enumeration
Modified: commons/proper/io/trunk/src/changes/changes.xml commons/proper/io/trunk/src/main/java/org/apache/commons/io/IOCase.java Modified: commons/proper/io/trunk/src/changes/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/changes/changes.xml?rev=1483915&r1=1483914&r2=1483915&view=diff ============================================================================== --- commons/proper/io/trunk/src/changes/changes.xml (original) +++ commons/proper/io/trunk/src/changes/changes.xml Fri May 17 17:02:35 2013 @@ -47,6 +47,10 @@ The <action> type attribute can be add,u <body> <!-- The release date is the date RC is cut --> <release version="2.5" date="2013-??-??" description="New features and bug fixes."> + <action issue="IO-239" dev="sebb" type="update"> + Convert IOCase to a Java 1.5+ Enumeration + [N.B. this is binary compatible] + </action> <action issue="IO-233" dev="sebb" type="add"> Add Methods for Buffering Streams/Writers To IOUtils Added overloaded buffer() methods - see also IO-330 Modified: commons/proper/io/trunk/src/main/java/org/apache/commons/io/IOCase.java URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/main/java/org/apache/commons/io/IOCase.java?rev=1483915&r1=1483914&r2=1483915&view=diff ============================================================================== --- commons/proper/io/trunk/src/main/java/org/apache/commons/io/IOCase.java (original) +++ commons/proper/io/trunk/src/main/java/org/apache/commons/io/IOCase.java Fri May 17 17:02:35 2013 @@ -34,17 +34,17 @@ import java.io.Serializable; * @version $Id$ * @since 1.3 */ -public final class IOCase implements Serializable { +public enum IOCase implements Serializable { /** * The constant for case sensitive regardless of operating system. */ - public static final IOCase SENSITIVE = new IOCase("Sensitive", true); + SENSITIVE ("Sensitive", true), /** * The constant for case insensitive regardless of operating system. */ - public static final IOCase INSENSITIVE = new IOCase("Insensitive", false); + INSENSITIVE ("Insensitive", false), /** * The constant for case sensitivity determined by the current operating system. @@ -58,7 +58,7 @@ public final class IOCase implements Ser * If you derialize this constant of Windows, and deserialize on Unix, or vice * versa, then the value of the case-sensitivity flag will change. */ - public static final IOCase SYSTEM = new IOCase("System", !FilenameUtils.isSystemWindows()); + SYSTEM ("System", !FilenameUtils.isSystemWindows()); /** Serialization version. */ private static final long serialVersionUID = -6343169151696340687L; @@ -78,14 +78,12 @@ public final class IOCase implements Ser * @throws IllegalArgumentException if the name is invalid */ public static IOCase forName(final String name) { - if (IOCase.SENSITIVE.name.equals(name)){ - return IOCase.SENSITIVE; - } - if (IOCase.INSENSITIVE.name.equals(name)){ - return IOCase.INSENSITIVE; - } - if (IOCase.SYSTEM.name.equals(name)){ - return IOCase.SYSTEM; + for (IOCase ioCase : IOCase.values()) + { + if (ioCase.getName().equals(name)) + { + return ioCase; + } } throw new IllegalArgumentException("Invalid IOCase name: " + name); }