Browse Source

Make the last of the mode managers private.

Change-Id: I8b17836354297969cf9ee69b289f7abd5e03c9ad
Reviewed-on: http://gerrit.dmdirc.com/3984
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
changes/84/3984/2
Chris Smith 9 years ago
parent
commit
54975ded5f

+ 7
- 2
src/com/dmdirc/parser/irc/IRCChannelInfo.java View File

@@ -66,6 +66,8 @@ public class IRCChannelInfo implements ChannelInfo {
66 66
     private final IRCParser parser;
67 67
     /** Mode manager to use for user modes. */
68 68
     private final ModeManager userModeManager;
69
+    /** Mode manager to use for channel modes. */
70
+    private final ModeManager chanModeManager;
69 71
     /** Mode manager to use for prefix mode information. */
70 72
     private final PrefixModeManager prefixModeManager;
71 73
     /** Channel Name. */
@@ -100,14 +102,17 @@ public class IRCChannelInfo implements ChannelInfo {
100 102
      * @param parser Reference to parser that owns this channelclient (used for modes)
101 103
      * @param prefixModeManager The manager to use for prefix modes.
102 104
      * @param userModeManager Mode manager to use for user modes.
105
+     * @param chanModeManager Mode manager to use for channel modes.
103 106
      * @param name Channel name.
104 107
      */
105 108
     public IRCChannelInfo(final IRCParser parser, final PrefixModeManager prefixModeManager,
106
-            final ModeManager userModeManager, final String name) {
109
+            final ModeManager userModeManager, final ModeManager chanModeManager,
110
+            final String name) {
107 111
         map = new HashMap<>();
108 112
         this.parser = parser;
109 113
         this.prefixModeManager = prefixModeManager;
110 114
         this.userModeManager = userModeManager;
115
+        this.chanModeManager = chanModeManager;
111 116
         this.name = name;
112 117
     }
113 118
 
@@ -615,7 +620,7 @@ public class IRCChannelInfo implements ChannelInfo {
615 620
         }
616 621
 
617 622
         modestr = (add ? "+" : "-") + mode;
618
-        if (parser.chanModesBool.isMode(mode)) {
623
+        if (chanModeManager.isMode(mode)) {
619 624
             final String teststr = (add ? "-" : "+") + mode;
620 625
             if (modeQueue.contains(teststr)) {
621 626
                 modeQueue.remove(teststr);

+ 2
- 2
src/com/dmdirc/parser/irc/IRCParser.java View File

@@ -169,7 +169,7 @@ public class IRCParser extends BaseSocketAwareParser implements SecureParser, En
169 169
      * <p>
170 170
      * Channel modes discovered but not listed in 005 are stored as boolean modes automatically (and a ERROR_WARNING Error is called)
171 171
      */
172
-    public final ModeManager chanModesBool = new ModeManager();
172
+    private final ModeManager chanModesBool = new ModeManager();
173 173
     /**
174 174
      * Hashtable storing known non-boolean chan modes (klbeI etc).
175 175
      * Non Boolean Modes (for Channels) are stored together in this hashtable, the value param
@@ -283,7 +283,7 @@ public class IRCParser extends BaseSocketAwareParser implements SecureParser, En
283 283
     public IRCParser(final MyInfo myDetails, final URI uri) {
284 284
         super(uri);
285 285
 
286
-        myProcessingManager = new ProcessingManager(this, prefixModes, userModes);
286
+        myProcessingManager = new ProcessingManager(this, prefixModes, userModes, chanModesBool);
287 287
         myself = new IRCClientInfo(this, userModes, "myself").setFake(true);
288 288
 
289 289
         out = new OutputQueue();

+ 6
- 3
src/com/dmdirc/parser/irc/ProcessingManager.java View File

@@ -70,9 +70,10 @@ public class ProcessingManager {
70 70
      * @param parser IRCParser that owns this Processing Manager
71 71
      * @param prefixModeManager The manager to use to access prefix modes.
72 72
      * @param userModeManager Mode manager to use for user modes.
73
+     * @param chanModeManager Mode manager to use for channel modes.
73 74
      */
74 75
     public ProcessingManager(final IRCParser parser, final PrefixModeManager prefixModeManager,
75
-            final ModeManager userModeManager) {
76
+            final ModeManager userModeManager, final ModeManager chanModeManager) {
76 77
         this.parser = parser;
77 78
         //------------------------------------------------
78 79
         // Add processors
@@ -95,7 +96,8 @@ public class ProcessingManager {
95 96
         // INVITE
96 97
         addProcessor(new ProcessInvite(parser, this));
97 98
         // JOIN
98
-        addProcessor(new ProcessJoin(parser, prefixModeManager, userModeManager, this));
99
+        addProcessor(new ProcessJoin(parser, prefixModeManager, userModeManager, chanModeManager,
100
+                this));
99 101
         // KICK
100 102
         addProcessor(new ProcessKick(parser, this));
101 103
         // PRIVMSG
@@ -103,7 +105,8 @@ public class ProcessingManager {
103 105
         addProcessor(new ProcessMessage(parser, prefixModeManager, this));
104 106
         // MODE
105 107
         // 324
106
-        addProcessor(new ProcessMode(parser, prefixModeManager, userModeManager, this));
108
+        addProcessor(new ProcessMode(parser, prefixModeManager, userModeManager, chanModeManager,
109
+                this));
107 110
         // 372
108 111
         // 375
109 112
         // 376

+ 8
- 2
src/com/dmdirc/parser/irc/processors/ProcessJoin.java View File

@@ -49,6 +49,8 @@ public class ProcessJoin extends IRCProcessor {
49 49
     private final PrefixModeManager prefixModeManager;
50 50
     /** Mode manager to use for user modes. */
51 51
     private final ModeManager userModeManager;
52
+    /** Mode manager to use for channel modes. */
53
+    private final ModeManager chanModeManager;
52 54
 
53 55
     /**
54 56
      * Create a new instance of the IRCProcessor Object.
@@ -56,13 +58,16 @@ public class ProcessJoin extends IRCProcessor {
56 58
      * @param parser IRCParser That owns this IRCProcessor
57 59
      * @param prefixModeManager The manager to use to access prefix modes.
58 60
      * @param userModeManager Mode manager to use for user modes.
61
+     * @param chanModeManager Mode manager to use for channel modes.
59 62
      * @param manager ProcessingManager that is in charge of this IRCProcessor
60 63
      */
61 64
     public ProcessJoin(final IRCParser parser, final PrefixModeManager prefixModeManager,
62
-            final ModeManager userModeManager, final ProcessingManager manager) {
65
+            final ModeManager userModeManager, final ModeManager chanModeManager,
66
+            final ProcessingManager manager) {
63 67
         super(parser, manager);
64 68
         this.prefixModeManager = prefixModeManager;
65 69
         this.userModeManager = userModeManager;
70
+        this.chanModeManager = chanModeManager;
66 71
     }
67 72
 
68 73
     /**
@@ -159,7 +164,8 @@ public class ProcessJoin extends IRCProcessor {
159 164
                 }
160 165
             }
161 166
 
162
-            iChannel = new IRCChannelInfo(parser, prefixModeManager, userModeManager, channelName);
167
+            iChannel = new IRCChannelInfo(parser, prefixModeManager, userModeManager,
168
+                    chanModeManager, channelName);
163 169
             // Add ourself to the channel, this will be overridden by the NAMES reply
164 170
             iChannel.addClient(iClient);
165 171
             parser.addChannel(iChannel);

+ 10
- 5
src/com/dmdirc/parser/irc/processors/ProcessMode.java View File

@@ -53,6 +53,8 @@ public class ProcessMode extends IRCProcessor {
53 53
     private final PrefixModeManager prefixModeManager;
54 54
     /** Mode manager to use for user modes. */
55 55
     private final ModeManager userModeManager;
56
+    /** Mode manager to use for channel modes. */
57
+    private final ModeManager chanModeManager;
56 58
 
57 59
     /**
58 60
      * Create a new instance of the IRCProcessor Object.
@@ -60,13 +62,16 @@ public class ProcessMode extends IRCProcessor {
60 62
      * @param parser IRCParser That owns this IRCProcessor
61 63
      * @param prefixModeManager The manager to use to access prefix modes.
62 64
      * @param userModeManager Mode manager to use for user modes.
65
+     * @param chanModeManager Mode manager to use for channel modes.
63 66
      * @param manager ProcessingManager that is in charge of this IRCProcessor
64 67
      */
65 68
     public ProcessMode(final IRCParser parser, final PrefixModeManager prefixModeManager,
66
-            final ModeManager userModeManager, final ProcessingManager manager) {
69
+            final ModeManager userModeManager, final ModeManager chanModeManager,
70
+            final ProcessingManager manager) {
67 71
         super(parser, manager);
68 72
         this.prefixModeManager = prefixModeManager;
69 73
         this.userModeManager = userModeManager;
74
+        this.chanModeManager = chanModeManager;
70 75
     }
71 76
 
72 77
     /**
@@ -173,7 +178,7 @@ public class ProcessMode extends IRCProcessor {
173 178
                 cPositive = '-';
174 179
                 bPositive = false;
175 180
             } else {
176
-                if (parser.chanModesBool.isMode(cMode)) {
181
+                if (chanModeManager.isMode(cMode)) {
177 182
                     bBooleanMode = true;
178 183
                 } else if (parser.chanModesOther.containsKey(cMode)) {
179 184
                     nValue = parser.chanModesOther.get(cMode);
@@ -208,7 +213,7 @@ public class ProcessMode extends IRCProcessor {
208 213
                     continue;
209 214
                 } else {
210 215
                     // unknown mode - add as boolean
211
-                    parser.chanModesBool.add(cMode);
216
+                    chanModeManager.add(cMode);
212 217
                     bBooleanMode = true;
213 218
                 }
214 219
 
@@ -216,9 +221,9 @@ public class ProcessMode extends IRCProcessor {
216 221
                     callDebugInfo(IRCParser.DEBUG_INFO, "Boolean Mode: %c {Positive: %b}", cMode, bPositive);
217 222
 
218 223
                     if (bPositive) {
219
-                        nCurrent = parser.chanModesBool.insertMode(nCurrent, cMode);
224
+                        nCurrent = chanModeManager.insertMode(nCurrent, cMode);
220 225
                     } else {
221
-                        nCurrent = parser.chanModesBool.removeMode(nCurrent, cMode);
226
+                        nCurrent = chanModeManager.removeMode(nCurrent, cMode);
222 227
                     }
223 228
                 } else {
224 229
 

+ 1
- 1
test/com/dmdirc/parser/irc/ChannelInfoTest.java View File

@@ -31,7 +31,7 @@ import static org.junit.Assert.*;
31 31
 
32 32
 public class ChannelInfoTest {
33 33
 
34
-    final IRCChannelInfo ci = new IRCChannelInfo(null, null, null, "name");
34
+    final IRCChannelInfo ci = new IRCChannelInfo(null, null, null, null, "name");
35 35
 
36 36
     @Test
37 37
     public void testGetName() {

Loading…
Cancel
Save