Author: rdonkin
Date: Sun Jan  4 09:45:52 2009
New Revision: 731301

URL: http://svn.apache.org/viewvc?rev=731301&view=rev
Log:
Convert to enum

Modified:
    
james/protocols/imap/trunk/api/src/main/java/org/apache/james/api/imap/ImapSessionState.java
    
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/command/imap4rev1/ImapCommandImpl.java

Modified: 
james/protocols/imap/trunk/api/src/main/java/org/apache/james/api/imap/ImapSessionState.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/api/src/main/java/org/apache/james/api/imap/ImapSessionState.java?rev=731301&r1=731300&r2=731301&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/api/src/main/java/org/apache/james/api/imap/ImapSessionState.java
 (original)
+++ 
james/protocols/imap/trunk/api/src/main/java/org/apache/james/api/imap/ImapSessionState.java
 Sun Jan  4 09:45:52 2009
@@ -20,27 +20,40 @@
 package org.apache.james.api.imap;
 
 /**
- * Enumerated type representing an IMAP session state.
+ * Enumerates 
+ * <a href='http://james.apache.org/server/rfclist/imap4/rfc2060.txt' 
rel='tag'>RFC2060</a>
+ * session states.
  */
-public class ImapSessionState {
-    public static final ImapSessionState NON_AUTHENTICATED = new 
ImapSessionState(
-            "NON_AUTHENTICATED");
-
-    public static final ImapSessionState AUTHENTICATED = new ImapSessionState(
-            "AUTHENTICATED");
-
-    public static final ImapSessionState SELECTED = new ImapSessionState(
-            "SELECTED");
-
-    public static final ImapSessionState LOGOUT = new 
ImapSessionState("LOGOUT");
-
-    private final String myName; // for debug only
+public enum ImapSessionState {
+    /** 
+     * <a href='http://james.apache.org/server/rfclist/imap4/rfc2060.txt' 
rel='tag'>RFC2060</a>
+     * <code>3.1 Non-Authenticated State</code>
+     */
+    NON_AUTHENTICATED("Non Authenticated State"),
+    /** 
+     * <a href='http://james.apache.org/server/rfclist/imap4/rfc2060.txt' 
rel='tag'>RFC2060</a>
+     * <code>3.2 Authenticated State</code>
+     */
+    AUTHENTICATED("Authenticated State"),
+    /** 
+     * <a href='http://james.apache.org/server/rfclist/imap4/rfc2060.txt' 
rel='tag'>RFC2060</a>
+     * <code>3.3 Selected State</code>
+     */
+    SELECTED("Selected State"),
+    /** 
+     * <a href='http://james.apache.org/server/rfclist/imap4/rfc2060.txt' 
rel='tag'>RFC2060</a>
+     * <code>3.4 Logout State</code>
+     */
+    LOGOUT("Logged Out State");
+    
+    /** To aid debugging */
+    private final String name;
 
     private ImapSessionState(String name) {
-        myName = name;
+        this.name = name;
     }
 
     public String toString() {
-        return myName;
+        return name;
     }
 }

Modified: 
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/command/imap4rev1/ImapCommandImpl.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/command/imap4rev1/ImapCommandImpl.java?rev=731301&r1=731300&r2=731301&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/command/imap4rev1/ImapCommandImpl.java
 (original)
+++ 
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/command/imap4rev1/ImapCommandImpl.java
 Sun Jan  4 09:45:52 2009
@@ -68,14 +68,18 @@
 
     public boolean validForState(ImapSessionState state) {
         final boolean result;
-        if (state == ImapSessionState.AUTHENTICATED) {
-            result = validInAuthenticated;
-        } else if (state == ImapSessionState.NON_AUTHENTICATED) {
-            result = validInNonAuthenticated;
-        } else if (state == ImapSessionState.SELECTED) {
-            result = validInSelected;
-        } else {
-            result = false;
+        switch (state) {
+            case AUTHENTICATED:
+                result = validInAuthenticated;
+                break;
+            case NON_AUTHENTICATED:
+                result = validInNonAuthenticated;
+                break;
+            case SELECTED:
+                result = validInSelected;
+                break;
+            default:
+                result = false;
         }
         return result;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to