Pārlūkot izejas kodu

Use @ChildImplementations

Change-Id: I7178085b05baaf1923f0d41e936c863e4f79a0aa
Depends-On: Ib43769c82b0a5ca1a0ac3bd6fd91e4105b0c2a87
Reviewed-on: http://gerrit.dmdirc.com/1992
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
tags/0.7rc1
Chris Smith 13 gadus atpakaļ
vecāks
revīzija
01cbd5830f

+ 6
- 13
src/com/dmdirc/addons/parser_msn/MSNParser.java Parādīt failu

@@ -24,9 +24,9 @@ package com.dmdirc.addons.parser_msn;
24 24
 
25 25
 import com.dmdirc.parser.common.BaseParser;
26 26
 import com.dmdirc.parser.common.ChannelJoinRequest;
27
+import com.dmdirc.parser.common.ChildImplementations;
27 28
 import com.dmdirc.parser.common.DefaultStringConverter;
28 29
 import com.dmdirc.parser.common.QueuePriority;
29
-import com.dmdirc.parser.interfaces.ChannelClientInfo;
30 30
 import com.dmdirc.parser.interfaces.ChannelInfo;
31 31
 import com.dmdirc.parser.interfaces.ClientInfo;
32 32
 import com.dmdirc.parser.interfaces.LocalClientInfo;
@@ -46,11 +46,12 @@ import net.sf.jml.impl.MsnMessengerFactory;
46 46
 /**
47 47
  * A parser which can understand the MSN protocol.
48 48
  */
49
+@ChildImplementations({
50
+    MSNClientInfo.class, MSNLocalClientInfo.class, MSNFakeChannel.class,
51
+    MSNChannelClientInfo.class
52
+})
49 53
 public class MSNParser extends BaseParser {
50 54
 
51
-    /** A map of this parser's implementations of common interfaces. */
52
-    private static final Map<Class<?>, Class<?>> IMPL_MAP
53
-            = new HashMap<Class<?>, Class<?>>();
54 55
     /** MSN Connection. */
55 56
     private MsnMessenger msn;
56 57
     /** A cache of known clients. */
@@ -61,21 +62,13 @@ public class MSNParser extends BaseParser {
61 62
     /** The fake channel to use is useFakeChannel is enabled. */
62 63
     private MSNFakeChannel fakeChannel;
63 64
 
64
-    /** Creates map of this parser's implementations of common interfaces. */
65
-    static {
66
-        IMPL_MAP.put(ClientInfo.class, MSNClientInfo.class);
67
-        IMPL_MAP.put(LocalClientInfo.class, MSNLocalClientInfo.class);
68
-        IMPL_MAP.put(ChannelInfo.class, MSNFakeChannel.class);
69
-        IMPL_MAP.put(ChannelClientInfo.class, MSNChannelClientInfo.class);
70
-    }
71
-
72 65
     /**
73 66
      * Creates a new parser for the specified address.
74 67
      *
75 68
      * @param address The address to connect to
76 69
      */
77 70
     public MSNParser(final URI address) {
78
-        super(address, IMPL_MAP);
71
+        super(address);
79 72
 
80 73
         useFakeChannel = address.getQuery().matches(
81 74
                 "(?i).*(^|&)showchannel($|&).*");

+ 6
- 13
src/com/dmdirc/addons/parser_xmpp/XmppParser.java Parādīt failu

@@ -25,12 +25,11 @@ package com.dmdirc.addons.parser_xmpp;
25 25
 import com.dmdirc.parser.common.AwayState;
26 26
 import com.dmdirc.parser.common.BaseSocketAwareParser;
27 27
 import com.dmdirc.parser.common.ChannelJoinRequest;
28
+import com.dmdirc.parser.common.ChildImplementations;
28 29
 import com.dmdirc.parser.common.DefaultStringConverter;
29 30
 import com.dmdirc.parser.common.ParserError;
30 31
 import com.dmdirc.parser.common.QueuePriority;
31
-import com.dmdirc.parser.interfaces.ChannelClientInfo;
32 32
 import com.dmdirc.parser.interfaces.ChannelInfo;
33
-import com.dmdirc.parser.interfaces.ClientInfo;
34 33
 import com.dmdirc.parser.interfaces.LocalClientInfo;
35 34
 import com.dmdirc.parser.interfaces.StringConverter;
36 35
 import com.dmdirc.parser.interfaces.callbacks.AwayStateListener;
@@ -74,18 +73,12 @@ import org.jivesoftware.smackx.muc.MultiUserChat;
74 73
 /**
75 74
  * A parser which can understand the XMPP protocol.
76 75
  */
76
+@ChildImplementations({
77
+    XmppClientInfo.class, XmppLocalClientInfo.class, XmppFakeChannel.class,
78
+    XmppChannelClientInfo.class
79
+})
77 80
 public class XmppParser extends BaseSocketAwareParser {
78 81
 
79
-    /** A map of this parser's implementations of common interfaces. */
80
-    private static final Map<Class<?>, Class<?>> IMPL_MAP = new HashMap<Class<?>, Class<?>>();
81
-
82
-    static {
83
-        IMPL_MAP.put(ClientInfo.class, XmppClientInfo.class);
84
-        IMPL_MAP.put(LocalClientInfo.class, XmppLocalClientInfo.class);
85
-        IMPL_MAP.put(ChannelInfo.class, XmppFakeChannel.class);
86
-        IMPL_MAP.put(ChannelClientInfo.class, XmppChannelClientInfo.class);
87
-    }
88
-
89 82
     /** Pattern to use to extract priority. */
90 83
     private static final Pattern PRIORITY_PATTERN
91 84
             = Pattern.compile("(?i)(?:^|&)priority=([0-9]+)(?:$|&)");
@@ -114,7 +107,7 @@ public class XmppParser extends BaseSocketAwareParser {
114 107
      * @param address The address to connect to
115 108
      */
116 109
     public XmppParser(final URI address) {
117
-        super(address, IMPL_MAP);
110
+        super(address);
118 111
 
119 112
          if (address.getQuery() == null) {
120 113
             useFakeChannel = false;

Notiek ielāde…
Atcelt
Saglabāt