Bläddra i källkod

Merge pull request #76 from csmith/master

Start using dagger.
pull/77/head
Greg Holmes 9 år sedan
förälder
incheckning
03145c118e
28 ändrade filer med 315 tillägg och 103 borttagningar
  1. 1
    0
      .gitignore
  2. 6
    1
      irc/src/com/dmdirc/parser/irc/IRCParser.java
  3. 74
    0
      irc/src/com/dmdirc/parser/irc/IRCParserModule.java
  4. 8
    99
      irc/src/com/dmdirc/parser/irc/ProcessingManager.java
  5. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/Process001.java
  6. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/Process004005.java
  7. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/Process464.java
  8. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessAccount.java
  9. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessAway.java
  10. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessCap.java
  11. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessInvite.java
  12. 6
    1
      irc/src/com/dmdirc/parser/irc/processors/ProcessJoin.java
  13. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessKick.java
  14. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessList.java
  15. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessListModes.java
  16. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessMOTD.java
  17. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessMessage.java
  18. 6
    1
      irc/src/com/dmdirc/parser/irc/processors/ProcessMode.java
  19. 5
    1
      irc/src/com/dmdirc/parser/irc/processors/ProcessNames.java
  20. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessNick.java
  21. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessNickInUse.java
  22. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessNoticeAuth.java
  23. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessPart.java
  24. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessQuit.java
  25. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessTopic.java
  26. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessWallops.java
  27. 3
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessWho.java
  28. 149
    0
      irc/src/com/dmdirc/parser/irc/processors/ProcessorsModule.java

+ 1
- 0
.gitignore Visa fil

11
 /etc/nexus-teamcity.properties
11
 /etc/nexus-teamcity.properties
12
 /.gradle
12
 /.gradle
13
 /*/build
13
 /*/build
14
+/*/generated
14
 /nexus-teamcity.gradle
15
 /nexus-teamcity.gradle

+ 6
- 1
irc/src/com/dmdirc/parser/irc/IRCParser.java Visa fil

82
 import javax.net.ssl.TrustManager;
82
 import javax.net.ssl.TrustManager;
83
 import javax.net.ssl.X509TrustManager;
83
 import javax.net.ssl.X509TrustManager;
84
 
84
 
85
+import dagger.ObjectGraph;
86
+
85
 /**
87
 /**
86
  * IRC Parser.
88
  * IRC Parser.
87
  */
89
  */
283
     public IRCParser(final MyInfo myDetails, final URI uri) {
285
     public IRCParser(final MyInfo myDetails, final URI uri) {
284
         super(uri);
286
         super(uri);
285
 
287
 
286
-        myProcessingManager = new ProcessingManager(this, prefixModes, userModes, chanModesBool);
288
+        // TODO: There should be a factory or builder for parsers that can construct the graph
289
+        final ObjectGraph graph = ObjectGraph.create(new IRCParserModule(this, prefixModes,
290
+                userModes, chanModesBool));
291
+        myProcessingManager = graph.get(ProcessingManager.class);
287
         myself = new IRCClientInfo(this, userModes, "myself").setFake(true);
292
         myself = new IRCClientInfo(this, userModes, "myself").setFake(true);
288
 
293
 
289
         out = new OutputQueue();
294
         out = new OutputQueue();

+ 74
- 0
irc/src/com/dmdirc/parser/irc/IRCParserModule.java Visa fil

1
+/*
2
+ * Copyright (c) 2006-2015 DMDirc Developers
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in
12
+ * all copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+
23
+package com.dmdirc.parser.irc;
24
+
25
+import com.dmdirc.parser.irc.processors.ProcessorsModule;
26
+
27
+import javax.inject.Named;
28
+
29
+import dagger.Module;
30
+import dagger.Provides;
31
+
32
+/**
33
+ * Dagger module for injecting the main IRC parser and its dependencies.
34
+ */
35
+@Module(includes = ProcessorsModule.class, injects = ProcessingManager.class)
36
+public class IRCParserModule {
37
+
38
+    private final IRCParser parser;
39
+    private final PrefixModeManager prefixModeManager;
40
+    private final ModeManager userModeManager;
41
+    private final ModeManager chanModeManager;
42
+
43
+    public IRCParserModule(final IRCParser parser, final PrefixModeManager prefixModeManager,
44
+            final ModeManager userModeManager, final ModeManager chanModeManager) {
45
+        // TODO: Make all of these things injected.
46
+        this.parser = parser;
47
+        this.prefixModeManager = prefixModeManager;
48
+        this.userModeManager = userModeManager;
49
+        this.chanModeManager = chanModeManager;
50
+    }
51
+
52
+    @Provides
53
+    public IRCParser getParser() {
54
+        return parser;
55
+    }
56
+
57
+    @Provides
58
+    public PrefixModeManager getPrefixModeManager() {
59
+        return prefixModeManager;
60
+    }
61
+
62
+    @Provides
63
+    @Named("user")
64
+    public ModeManager getUserModeManager() {
65
+        return userModeManager;
66
+    }
67
+
68
+    @Provides
69
+    @Named("channel")
70
+    public ModeManager getChanModeManager() {
71
+        return chanModeManager;
72
+    }
73
+
74
+}

+ 8
- 99
irc/src/com/dmdirc/parser/irc/ProcessingManager.java Visa fil

25
 import com.dmdirc.parser.common.ParserError;
25
 import com.dmdirc.parser.common.ParserError;
26
 import com.dmdirc.parser.events.NumericEvent;
26
 import com.dmdirc.parser.events.NumericEvent;
27
 import com.dmdirc.parser.irc.processors.IRCProcessor;
27
 import com.dmdirc.parser.irc.processors.IRCProcessor;
28
-import com.dmdirc.parser.irc.processors.Process001;
29
-import com.dmdirc.parser.irc.processors.Process004005;
30
-import com.dmdirc.parser.irc.processors.Process464;
31
-import com.dmdirc.parser.irc.processors.ProcessAccount;
32
-import com.dmdirc.parser.irc.processors.ProcessAway;
33
-import com.dmdirc.parser.irc.processors.ProcessCap;
34
-import com.dmdirc.parser.irc.processors.ProcessInvite;
35
-import com.dmdirc.parser.irc.processors.ProcessJoin;
36
-import com.dmdirc.parser.irc.processors.ProcessKick;
37
-import com.dmdirc.parser.irc.processors.ProcessList;
38
-import com.dmdirc.parser.irc.processors.ProcessListModes;
39
-import com.dmdirc.parser.irc.processors.ProcessMOTD;
40
-import com.dmdirc.parser.irc.processors.ProcessMessage;
41
-import com.dmdirc.parser.irc.processors.ProcessMode;
42
-import com.dmdirc.parser.irc.processors.ProcessNames;
43
-import com.dmdirc.parser.irc.processors.ProcessNick;
44
-import com.dmdirc.parser.irc.processors.ProcessNickInUse;
45
-import com.dmdirc.parser.irc.processors.ProcessNoticeAuth;
46
-import com.dmdirc.parser.irc.processors.ProcessPart;
47
-import com.dmdirc.parser.irc.processors.ProcessQuit;
48
-import com.dmdirc.parser.irc.processors.ProcessTopic;
49
-import com.dmdirc.parser.irc.processors.ProcessWallops;
50
-import com.dmdirc.parser.irc.processors.ProcessWho;
51
 
28
 
52
 import java.util.Date;
29
 import java.util.Date;
53
 import java.util.HashMap;
30
 import java.util.HashMap;
54
 import java.util.Map;
31
 import java.util.Map;
32
+import java.util.Set;
33
+
34
+import javax.inject.Inject;
55
 
35
 
56
 /**
36
 /**
57
  * IRC Parser Processing Manager.
37
  * IRC Parser Processing Manager.
68
      * Constructor to create a ProcessingManager.
48
      * Constructor to create a ProcessingManager.
69
      *
49
      *
70
      * @param parser IRCParser that owns this Processing Manager
50
      * @param parser IRCParser that owns this Processing Manager
71
-     * @param prefixModeManager The manager to use to access prefix modes.
72
-     * @param userModeManager Mode manager to use for user modes.
73
-     * @param chanModeManager Mode manager to use for channel modes.
51
+     * @param processors The processors to add.
74
      */
52
      */
75
-    public ProcessingManager(final IRCParser parser, final PrefixModeManager prefixModeManager,
76
-            final ModeManager userModeManager, final ModeManager chanModeManager) {
53
+    @Inject
54
+    public ProcessingManager(final IRCParser parser, final Set<IRCProcessor> processors) {
77
         this.parser = parser;
55
         this.parser = parser;
78
-        //------------------------------------------------
79
-        // Add processors
80
-        //------------------------------------------------
81
-        // NOTICE AUTH
82
-        addProcessor(new ProcessNoticeAuth(parser));
83
-        // 001
84
-        addProcessor(new Process001(parser));
85
-        // 004
86
-        // 005
87
-        addProcessor(new Process004005(parser));
88
-        // 464
89
-        addProcessor(new Process464(parser));
90
-        // 301
91
-        // 305
92
-        // 306
93
-        addProcessor(new ProcessAway(parser));
94
-        // 352
95
-        addProcessor(new ProcessWho(parser));
96
-        // INVITE
97
-        addProcessor(new ProcessInvite(parser));
98
-        // JOIN
99
-        addProcessor(new ProcessJoin(parser, prefixModeManager, userModeManager, chanModeManager));
100
-        // KICK
101
-        addProcessor(new ProcessKick(parser));
102
-        // PRIVMSG
103
-        // NOTICE
104
-        addProcessor(new ProcessMessage(parser, prefixModeManager));
105
-        // MODE
106
-        // 324
107
-        addProcessor(new ProcessMode(parser, prefixModeManager, userModeManager, chanModeManager));
108
-        // 372
109
-        // 375
110
-        // 376
111
-        // 422
112
-        addProcessor(new ProcessMOTD(parser));
113
-        // 353
114
-        // 366
115
-        addProcessor(new ProcessNames(parser, prefixModeManager, userModeManager));
116
-        // 433
117
-        addProcessor(new ProcessNickInUse(parser));
118
-        // NICK
119
-        addProcessor(new ProcessNick(parser));
120
-        // PART
121
-        addProcessor(new ProcessPart(parser));
122
-        // QUIT
123
-        addProcessor(new ProcessQuit(parser));
124
-        // TOPIC
125
-        // 332
126
-        // 333
127
-        addProcessor(new ProcessTopic(parser));
128
-        // 344
129
-        // 345
130
-        // 346
131
-        // 347
132
-        // 348
133
-        // 349
134
-        // 367
135
-        // 368
136
-        addProcessor(new ProcessListModes(parser));
137
-        // WALLOPS
138
-        addProcessor(new ProcessWallops(parser));
139
-        // 321
140
-        // 322
141
-        // 323
142
-        addProcessor(new ProcessList(parser));
143
-        // CAP
144
-        addProcessor(new ProcessCap(parser));
145
-        // ACCOUNT
146
-        addProcessor(new ProcessAccount(parser));
56
+        processors.forEach(this::addProcessor);
147
     }
57
     }
148
 
58
 
149
     /**
59
     /**
189
      * @param processor IRCProcessor subclass for the processor.
99
      * @param processor IRCProcessor subclass for the processor.
190
      */
100
      */
191
     public void delProcessor(final IRCProcessor processor) {
101
     public void delProcessor(final IRCProcessor processor) {
192
-        IRCProcessor testProcessor;
193
         doDebug("Deleting processor: " + processor.getName());
102
         doDebug("Deleting processor: " + processor.getName());
194
         for (String elementName : processHash.keySet()) {
103
         for (String elementName : processHash.keySet()) {
195
             doDebug("\t Checking handler for: " + elementName);
104
             doDebug("\t Checking handler for: " + elementName);
196
-            testProcessor = processHash.get(elementName);
105
+            final IRCProcessor testProcessor = processHash.get(elementName);
197
             if (testProcessor.getName().equalsIgnoreCase(processor.getName())) {
106
             if (testProcessor.getName().equalsIgnoreCase(processor.getName())) {
198
                 doDebug("\t Removed handler for: " + elementName);
107
                 doDebug("\t Removed handler for: " + elementName);
199
                 processHash.remove(elementName);
108
                 processHash.remove(elementName);

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/Process001.java Visa fil

28
 
28
 
29
 import java.util.Collection;
29
 import java.util.Collection;
30
 
30
 
31
+import javax.inject.Inject;
32
+
31
 /**
33
 /**
32
  * Process a 001 message.
34
  * Process a 001 message.
33
  */
35
  */
38
      *
40
      *
39
      * @param parser IRCParser That owns this IRCProcessor
41
      * @param parser IRCParser That owns this IRCProcessor
40
      */
42
      */
43
+    @Inject
41
     public Process001(final IRCParser parser) {
44
     public Process001(final IRCParser parser) {
42
         super(parser, "001");
45
         super(parser, "001");
43
     }
46
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/Process004005.java Visa fil

34
 import java.util.regex.Matcher;
34
 import java.util.regex.Matcher;
35
 import java.util.regex.Pattern;
35
 import java.util.regex.Pattern;
36
 
36
 
37
+import javax.inject.Inject;
38
+
37
 /**
39
 /**
38
  * Process ISUPPORT lines.
40
  * Process ISUPPORT lines.
39
  */
41
  */
44
      *
46
      *
45
      * @param parser IRCParser That owns this IRCProcessor
47
      * @param parser IRCParser That owns this IRCProcessor
46
      */
48
      */
49
+    @Inject
47
     public Process004005(final IRCParser parser) {
50
     public Process004005(final IRCParser parser) {
48
         super(parser, "002", "003", "004", "005");
51
         super(parser, "002", "003", "004", "005");
49
     }
52
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/Process464.java Visa fil

27
 
27
 
28
 import java.util.Date;
28
 import java.util.Date;
29
 
29
 
30
+import javax.inject.Inject;
31
+
30
 /**
32
 /**
31
  * Process a 464 message.
33
  * Process a 464 message.
32
  */
34
  */
37
      *
39
      *
38
      * @param parser IRCParser That owns this IRCProcessor
40
      * @param parser IRCParser That owns this IRCProcessor
39
      */
41
      */
42
+    @Inject
40
     public Process464(final IRCParser parser) {
43
     public Process464(final IRCParser parser) {
41
         super(parser, "464");
44
         super(parser, "464");
42
     }
45
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessAccount.java Visa fil

25
 import com.dmdirc.parser.irc.IRCClientInfo;
25
 import com.dmdirc.parser.irc.IRCClientInfo;
26
 import com.dmdirc.parser.irc.IRCParser;
26
 import com.dmdirc.parser.irc.IRCParser;
27
 
27
 
28
+import javax.inject.Inject;
29
+
28
 /**
30
 /**
29
  * Process an Account message.
31
  * Process an Account message.
30
  */
32
  */
35
      *
37
      *
36
      * @param parser IRCParser That owns this IRCProcessor
38
      * @param parser IRCParser That owns this IRCProcessor
37
      */
39
      */
40
+    @Inject
38
     public ProcessAccount(final IRCParser parser) {
41
     public ProcessAccount(final IRCParser parser) {
39
         super(parser, "ACCOUNT");
42
         super(parser, "ACCOUNT");
40
     }
43
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessAway.java Visa fil

28
 
28
 
29
 import java.util.Date;
29
 import java.util.Date;
30
 
30
 
31
+import javax.inject.Inject;
32
+
31
 /**
33
 /**
32
  * Process an Away/Back message.
34
  * Process an Away/Back message.
33
  */
35
  */
38
      *
40
      *
39
      * @param parser IRCParser That owns this IRCProcessor
41
      * @param parser IRCParser That owns this IRCProcessor
40
      */
42
      */
43
+    @Inject
41
     public ProcessAway(final IRCParser parser) {
44
     public ProcessAway(final IRCParser parser) {
42
         super(parser, "301", "305", "306", "AWAY");
45
         super(parser, "301", "305", "306", "AWAY");
43
     }
46
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessCap.java Visa fil

30
 import java.util.Collection;
30
 import java.util.Collection;
31
 import java.util.Date;
31
 import java.util.Date;
32
 
32
 
33
+import javax.inject.Inject;
34
+
33
 /**
35
 /**
34
  * Process CAP extension.
36
  * Process CAP extension.
35
  * There are currently no callbacks related to this, as it is just to tell
37
  * There are currently no callbacks related to this, as it is just to tell
53
      *
55
      *
54
      * @param parser IRCParser That owns this IRCProcessor
56
      * @param parser IRCParser That owns this IRCProcessor
55
      */
57
      */
58
+    @Inject
56
     public ProcessCap(final IRCParser parser) {
59
     public ProcessCap(final IRCParser parser) {
57
         super(parser, "CAP");
60
         super(parser, "CAP");
58
 
61
 

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessInvite.java Visa fil

27
 
27
 
28
 import java.util.Date;
28
 import java.util.Date;
29
 
29
 
30
+import javax.inject.Inject;
31
+
30
 /**
32
 /**
31
  * Process an Invite Request.
33
  * Process an Invite Request.
32
  */
34
  */
37
      *
39
      *
38
      * @param parser IRCParser That owns this IRCProcessor
40
      * @param parser IRCParser That owns this IRCProcessor
39
      */
41
      */
42
+    @Inject
40
     public ProcessInvite(final IRCParser parser) {
43
     public ProcessInvite(final IRCParser parser) {
41
         super(parser, "INVITE");
44
         super(parser, "INVITE");
42
     }
45
     }

+ 6
- 1
irc/src/com/dmdirc/parser/irc/processors/ProcessJoin.java Visa fil

40
 import java.util.Arrays;
40
 import java.util.Arrays;
41
 import java.util.Date;
41
 import java.util.Date;
42
 
42
 
43
+import javax.inject.Inject;
44
+import javax.inject.Named;
45
+
43
 /**
46
 /**
44
  * Process a channel join.
47
  * Process a channel join.
45
  */
48
  */
60
      * @param userModeManager Mode manager to use for user modes.
63
      * @param userModeManager Mode manager to use for user modes.
61
      * @param chanModeManager Mode manager to use for channel modes.
64
      * @param chanModeManager Mode manager to use for channel modes.
62
      */
65
      */
66
+    @Inject
63
     public ProcessJoin(final IRCParser parser, final PrefixModeManager prefixModeManager,
67
     public ProcessJoin(final IRCParser parser, final PrefixModeManager prefixModeManager,
64
-            final ModeManager userModeManager, final ModeManager chanModeManager) {
68
+            @Named("user") final ModeManager userModeManager,
69
+            @Named("channel") final ModeManager chanModeManager) {
65
         super(parser, "JOIN", "329");
70
         super(parser, "JOIN", "329");
66
         this.prefixModeManager = prefixModeManager;
71
         this.prefixModeManager = prefixModeManager;
67
         this.userModeManager = userModeManager;
72
         this.userModeManager = userModeManager;

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessKick.java Visa fil

34
 import java.util.Arrays;
34
 import java.util.Arrays;
35
 import java.util.Date;
35
 import java.util.Date;
36
 
36
 
37
+import javax.inject.Inject;
38
+
37
 /**
39
 /**
38
  * Process a channel kick.
40
  * Process a channel kick.
39
  */
41
  */
44
      *
46
      *
45
      * @param parser IRCParser That owns this IRCProcessor
47
      * @param parser IRCParser That owns this IRCProcessor
46
      */
48
      */
49
+    @Inject
47
     public ProcessKick(final IRCParser parser) {
50
     public ProcessKick(final IRCParser parser) {
48
         super(parser, "KICK");
51
         super(parser, "KICK");
49
     }
52
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessList.java Visa fil

29
 
29
 
30
 import java.util.Date;
30
 import java.util.Date;
31
 
31
 
32
+import javax.inject.Inject;
33
+
32
 /**
34
 /**
33
  * Process a list response.
35
  * Process a list response.
34
  */
36
  */
39
      *
41
      *
40
      * @param parser IRCParser That owns this IRCProcessor
42
      * @param parser IRCParser That owns this IRCProcessor
41
      */
43
      */
44
+    @Inject
42
     public ProcessList(final IRCParser parser) {
45
     public ProcessList(final IRCParser parser) {
43
         super(parser, "321", "322", "323");
46
         super(parser, "321", "322", "323");
44
     }
47
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessListModes.java Visa fil

35
 import java.util.Date;
35
 import java.util.Date;
36
 import java.util.Queue;
36
 import java.util.Queue;
37
 
37
 
38
+import javax.inject.Inject;
39
+
38
 /**
40
 /**
39
  * Process a List Modes.
41
  * Process a List Modes.
40
  */
42
  */
45
      *
47
      *
46
      * @param parser IRCParser That owns this IRCProcessor
48
      * @param parser IRCParser That owns this IRCProcessor
47
      */
49
      */
50
+    @Inject
48
     public ProcessListModes(final IRCParser parser) {
51
     public ProcessListModes(final IRCParser parser) {
49
         super(parser, "367", "368", /* Bans */
52
         super(parser, "367", "368", /* Bans */
50
                 "344", "345", /* Reop list (ircnet) or bad words (euirc) */
53
                 "344", "345", /* Reop list (ircnet) or bad words (euirc) */

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessMOTD.java Visa fil

29
 
29
 
30
 import java.util.Date;
30
 import java.util.Date;
31
 
31
 
32
+import javax.inject.Inject;
33
+
32
 /**
34
 /**
33
  * Process a MOTD Related Line.
35
  * Process a MOTD Related Line.
34
  */
36
  */
39
      *
41
      *
40
      * @param parser IRCParser That owns this IRCProcessor
42
      * @param parser IRCParser That owns this IRCProcessor
41
      */
43
      */
44
+    @Inject
42
     public ProcessMOTD(final IRCParser parser) {
45
     public ProcessMOTD(final IRCParser parser) {
43
         super(parser, "372", "375", "376", "422");
46
         super(parser, "372", "375", "376", "422");
44
     }
47
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessMessage.java Visa fil

55
 import java.util.Date;
55
 import java.util.Date;
56
 import java.util.regex.PatternSyntaxException;
56
 import java.util.regex.PatternSyntaxException;
57
 
57
 
58
+import javax.inject.Inject;
59
+
58
 /**
60
 /**
59
  * Process PRIVMSGs and NOTICEs.
61
  * Process PRIVMSGs and NOTICEs.
60
  * This horrible handles PRIVMSGs and NOTICE<br>
62
  * This horrible handles PRIVMSGs and NOTICE<br>
74
      * @param parser IRCParser That owns this IRCProcessor
76
      * @param parser IRCParser That owns this IRCProcessor
75
      * @param prefixModeManager The manager to use to access prefix modes.
77
      * @param prefixModeManager The manager to use to access prefix modes.
76
      */
78
      */
79
+    @Inject
77
     public ProcessMessage(final IRCParser parser, final PrefixModeManager prefixModeManager) {
80
     public ProcessMessage(final IRCParser parser, final PrefixModeManager prefixModeManager) {
78
         super(parser, "PRIVMSG", "NOTICE");
81
         super(parser, "PRIVMSG", "NOTICE");
79
         this.prefixModeManager = prefixModeManager;
82
         this.prefixModeManager = prefixModeManager;

+ 6
- 1
irc/src/com/dmdirc/parser/irc/processors/ProcessMode.java Visa fil

43
 import java.util.Calendar;
43
 import java.util.Calendar;
44
 import java.util.Date;
44
 import java.util.Date;
45
 
45
 
46
+import javax.inject.Inject;
47
+import javax.inject.Named;
48
+
46
 /**
49
 /**
47
  * Process a Mode line.
50
  * Process a Mode line.
48
  */
51
  */
63
      * @param userModeManager Mode manager to use for user modes.
66
      * @param userModeManager Mode manager to use for user modes.
64
      * @param chanModeManager Mode manager to use for channel modes.
67
      * @param chanModeManager Mode manager to use for channel modes.
65
      */
68
      */
69
+    @Inject
66
     public ProcessMode(final IRCParser parser, final PrefixModeManager prefixModeManager,
70
     public ProcessMode(final IRCParser parser, final PrefixModeManager prefixModeManager,
67
-            final ModeManager userModeManager, final ModeManager chanModeManager) {
71
+            @Named("user") final ModeManager userModeManager,
72
+            @Named("channel") final ModeManager chanModeManager) {
68
         super(parser, "MODE", "324", "221");
73
         super(parser, "MODE", "324", "221");
69
         this.prefixModeManager = prefixModeManager;
74
         this.prefixModeManager = prefixModeManager;
70
         this.userModeManager = userModeManager;
75
         this.userModeManager = userModeManager;

+ 5
- 1
irc/src/com/dmdirc/parser/irc/processors/ProcessNames.java Visa fil

34
 
34
 
35
 import java.util.Date;
35
 import java.util.Date;
36
 
36
 
37
+import javax.inject.Inject;
38
+import javax.inject.Named;
39
+
37
 /**
40
 /**
38
  * Process a Names reply.
41
  * Process a Names reply.
39
  */
42
  */
51
      * @param prefixModeManager The manager to use to access prefix modes.
54
      * @param prefixModeManager The manager to use to access prefix modes.
52
      * @param userModeManager Mode manager to use for user modes.
55
      * @param userModeManager Mode manager to use for user modes.
53
      */
56
      */
57
+    @Inject
54
     public ProcessNames(final IRCParser parser, final PrefixModeManager prefixModeManager,
58
     public ProcessNames(final IRCParser parser, final PrefixModeManager prefixModeManager,
55
-            final ModeManager userModeManager) {
59
+            @Named("user") final ModeManager userModeManager) {
56
         super(parser, "353", "366");
60
         super(parser, "353", "366");
57
         this.prefixModeManager = prefixModeManager;
61
         this.prefixModeManager = prefixModeManager;
58
         this.userModeManager = userModeManager;
62
         this.userModeManager = userModeManager;

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessNick.java Visa fil

35
 
35
 
36
 import java.util.Date;
36
 import java.util.Date;
37
 
37
 
38
+import javax.inject.Inject;
39
+
38
 /**
40
 /**
39
  * Process a Nick change.
41
  * Process a Nick change.
40
  */
42
  */
45
      *
47
      *
46
      * @param parser IRCParser That owns this IRCProcessor
48
      * @param parser IRCParser That owns this IRCProcessor
47
      */
49
      */
50
+    @Inject
48
     public ProcessNick(final IRCParser parser) {
51
     public ProcessNick(final IRCParser parser) {
49
         super(parser, "NICK");
52
         super(parser, "NICK");
50
     }
53
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessNickInUse.java Visa fil

27
 
27
 
28
 import java.util.Date;
28
 import java.util.Date;
29
 
29
 
30
+import javax.inject.Inject;
31
+
30
 /**
32
 /**
31
  * Process a NickInUse message.
33
  * Process a NickInUse message.
32
  * Parser implements handling of this if Pre-001 and no other handler found,
34
  * Parser implements handling of this if Pre-001 and no other handler found,
43
      *
45
      *
44
      * @param parser IRCParser That owns this object
46
      * @param parser IRCParser That owns this object
45
      */
47
      */
48
+    @Inject
46
     public ProcessNickInUse(final IRCParser parser) {
49
     public ProcessNickInUse(final IRCParser parser) {
47
         super(parser, "433");
50
         super(parser, "433");
48
     }
51
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessNoticeAuth.java Visa fil

27
 
27
 
28
 import java.util.Date;
28
 import java.util.Date;
29
 
29
 
30
+import javax.inject.Inject;
31
+
30
 /**
32
 /**
31
  * Process a NoticeAuth message.
33
  * Process a NoticeAuth message.
32
  */
34
  */
37
      *
39
      *
38
      * @param parser IRCParser That owns this object
40
      * @param parser IRCParser That owns this object
39
      */
41
      */
42
+    @Inject
40
     public ProcessNoticeAuth(final IRCParser parser) {
43
     public ProcessNoticeAuth(final IRCParser parser) {
41
         super(parser, "Notice Auth");
44
         super(parser, "Notice Auth");
42
     }
45
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessPart.java Visa fil

33
 
33
 
34
 import java.util.Date;
34
 import java.util.Date;
35
 
35
 
36
+import javax.inject.Inject;
37
+
36
 /**
38
 /**
37
  * Process a channel part.
39
  * Process a channel part.
38
  */
40
  */
43
      *
45
      *
44
      * @param parser IRCParser That owns this IRCProcessor
46
      * @param parser IRCParser That owns this IRCProcessor
45
      */
47
      */
48
+    @Inject
46
     public ProcessPart(final IRCParser parser) {
49
     public ProcessPart(final IRCParser parser) {
47
         super(parser, "PART");
50
         super(parser, "PART");
48
     }
51
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessQuit.java Visa fil

35
 import java.util.ArrayList;
35
 import java.util.ArrayList;
36
 import java.util.Date;
36
 import java.util.Date;
37
 
37
 
38
+import javax.inject.Inject;
39
+
38
 /**
40
 /**
39
  * Process a Quit message.
41
  * Process a Quit message.
40
  */
42
  */
45
      *
47
      *
46
      * @param parser IRCParser That owns this IRCProcessor
48
      * @param parser IRCParser That owns this IRCProcessor
47
      */
49
      */
50
+    @Inject
48
     public ProcessQuit(final IRCParser parser) {
51
     public ProcessQuit(final IRCParser parser) {
49
         super(parser, "QUIT");
52
         super(parser, "QUIT");
50
     }
53
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessTopic.java Visa fil

30
 
30
 
31
 import java.util.Date;
31
 import java.util.Date;
32
 
32
 
33
+import javax.inject.Inject;
34
+
33
 /**
35
 /**
34
  * Process a topic change.
36
  * Process a topic change.
35
  */
37
  */
40
      *
42
      *
41
      * @param parser IRCParser That owns this IRCProcessor
43
      * @param parser IRCParser That owns this IRCProcessor
42
      */
44
      */
45
+    @Inject
43
     public ProcessTopic(final IRCParser parser) {
46
     public ProcessTopic(final IRCParser parser) {
44
         super(parser, "TOPIC", "332", "333");
47
         super(parser, "TOPIC", "332", "333");
45
     }
48
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessWallops.java Visa fil

29
 
29
 
30
 import java.util.Date;
30
 import java.util.Date;
31
 
31
 
32
+import javax.inject.Inject;
33
+
32
 /**
34
 /**
33
  * Process a WALLOPS Message.
35
  * Process a WALLOPS Message.
34
  */
36
  */
39
      *
41
      *
40
      * @param parser IRCParser That owns this IRCProcessor
42
      * @param parser IRCParser That owns this IRCProcessor
41
      */
43
      */
44
+    @Inject
42
     public ProcessWallops(final IRCParser parser) {
45
     public ProcessWallops(final IRCParser parser) {
43
         super(parser, "WALLOPS");
46
         super(parser, "WALLOPS");
44
     }
47
     }

+ 3
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessWho.java Visa fil

34
 
34
 
35
 import java.util.Date;
35
 import java.util.Date;
36
 
36
 
37
+import javax.inject.Inject;
38
+
37
 /**
39
 /**
38
  * Process a /who reply.
40
  * Process a /who reply.
39
  */
41
  */
44
      *
46
      *
45
      * @param parser IRCParser That owns this IRCProcessor
47
      * @param parser IRCParser That owns this IRCProcessor
46
      */
48
      */
49
+    @Inject
47
     public ProcessWho(final IRCParser parser) {
50
     public ProcessWho(final IRCParser parser) {
48
         super(parser, "352");
51
         super(parser, "352");
49
     }
52
     }

+ 149
- 0
irc/src/com/dmdirc/parser/irc/processors/ProcessorsModule.java Visa fil

1
+/*
2
+ * Copyright (c) 2006-2015 DMDirc Developers
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in
12
+ * all copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+
23
+package com.dmdirc.parser.irc.processors;
24
+
25
+import dagger.Module;
26
+import dagger.Provides;
27
+
28
+/**
29
+ * Dagger module that supplies a set of processors.
30
+ */
31
+@Module(library = true, complete = false)
32
+public class ProcessorsModule {
33
+
34
+    @Provides(type = Provides.Type.SET)
35
+    public IRCProcessor getProcessor(final Process001 processor) {
36
+        return processor;
37
+    }
38
+
39
+    @Provides(type = Provides.Type.SET)
40
+    public IRCProcessor getProcessor(final Process464 processor) {
41
+        return processor;
42
+    }
43
+
44
+    @Provides(type = Provides.Type.SET)
45
+    public IRCProcessor getProcessor(final Process004005 processor) {
46
+        return processor;
47
+    }
48
+
49
+    @Provides(type = Provides.Type.SET)
50
+    public IRCProcessor getProcessor(final ProcessAccount processor) {
51
+        return processor;
52
+    }
53
+
54
+    @Provides(type = Provides.Type.SET)
55
+    public IRCProcessor getProcessor(final ProcessAway processor) {
56
+        return processor;
57
+    }
58
+
59
+    @Provides(type = Provides.Type.SET)
60
+    public IRCProcessor getProcessor(final ProcessCap processor) {
61
+        return processor;
62
+    }
63
+
64
+    @Provides(type = Provides.Type.SET)
65
+    public IRCProcessor getProcessor(final ProcessInvite processor) {
66
+        return processor;
67
+    }
68
+
69
+    @Provides(type = Provides.Type.SET)
70
+    public IRCProcessor getProcessor(final ProcessJoin processor) {
71
+        return processor;
72
+    }
73
+
74
+    @Provides(type = Provides.Type.SET)
75
+    public IRCProcessor getProcessor(final ProcessKick processor) {
76
+        return processor;
77
+    }
78
+
79
+    @Provides(type = Provides.Type.SET)
80
+    public IRCProcessor getProcessor(final ProcessList processor) {
81
+        return processor;
82
+    }
83
+
84
+    @Provides(type = Provides.Type.SET)
85
+    public IRCProcessor getProcessor(final ProcessListModes processor) {
86
+        return processor;
87
+    }
88
+
89
+    @Provides(type = Provides.Type.SET)
90
+    public IRCProcessor getProcessor(final ProcessMessage processor) {
91
+        return processor;
92
+    }
93
+
94
+    @Provides(type = Provides.Type.SET)
95
+    public IRCProcessor getProcessor(final ProcessMode processor) {
96
+        return processor;
97
+    }
98
+
99
+    @Provides(type = Provides.Type.SET)
100
+    public IRCProcessor getProcessor(final ProcessMOTD processor) {
101
+        return processor;
102
+    }
103
+
104
+    @Provides(type = Provides.Type.SET)
105
+    public IRCProcessor getProcessor(final ProcessNames processor) {
106
+        return processor;
107
+    }
108
+
109
+    @Provides(type = Provides.Type.SET)
110
+    public IRCProcessor getProcessor(final ProcessNick processor) {
111
+        return processor;
112
+    }
113
+
114
+    @Provides(type = Provides.Type.SET)
115
+    public IRCProcessor getProcessor(final ProcessNickInUse processor) {
116
+        return processor;
117
+    }
118
+
119
+    @Provides(type = Provides.Type.SET)
120
+    public IRCProcessor getProcessor(final ProcessNoticeAuth processor) {
121
+        return processor;
122
+    }
123
+
124
+    @Provides(type = Provides.Type.SET)
125
+    public IRCProcessor getProcessor(final ProcessPart processor) {
126
+        return processor;
127
+    }
128
+
129
+    @Provides(type = Provides.Type.SET)
130
+    public IRCProcessor getProcessor(final ProcessQuit processor) {
131
+        return processor;
132
+    }
133
+
134
+    @Provides(type = Provides.Type.SET)
135
+    public IRCProcessor getProcessor(final ProcessTopic processor) {
136
+        return processor;
137
+    }
138
+
139
+    @Provides(type = Provides.Type.SET)
140
+    public IRCProcessor getProcessor(final ProcessWallops processor) {
141
+        return processor;
142
+    }
143
+
144
+    @Provides(type = Provides.Type.SET)
145
+    public IRCProcessor getProcessor(final ProcessWho processor) {
146
+        return processor;
147
+    }
148
+
149
+}

Laddar…
Avbryt
Spara