Browse Source

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 years ago
parent
commit
01cbd5830f

+ 6
- 13
src/com/dmdirc/addons/parser_msn/MSNParser.java View File

24
 
24
 
25
 import com.dmdirc.parser.common.BaseParser;
25
 import com.dmdirc.parser.common.BaseParser;
26
 import com.dmdirc.parser.common.ChannelJoinRequest;
26
 import com.dmdirc.parser.common.ChannelJoinRequest;
27
+import com.dmdirc.parser.common.ChildImplementations;
27
 import com.dmdirc.parser.common.DefaultStringConverter;
28
 import com.dmdirc.parser.common.DefaultStringConverter;
28
 import com.dmdirc.parser.common.QueuePriority;
29
 import com.dmdirc.parser.common.QueuePriority;
29
-import com.dmdirc.parser.interfaces.ChannelClientInfo;
30
 import com.dmdirc.parser.interfaces.ChannelInfo;
30
 import com.dmdirc.parser.interfaces.ChannelInfo;
31
 import com.dmdirc.parser.interfaces.ClientInfo;
31
 import com.dmdirc.parser.interfaces.ClientInfo;
32
 import com.dmdirc.parser.interfaces.LocalClientInfo;
32
 import com.dmdirc.parser.interfaces.LocalClientInfo;
46
 /**
46
 /**
47
  * A parser which can understand the MSN protocol.
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
 public class MSNParser extends BaseParser {
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
     /** MSN Connection. */
55
     /** MSN Connection. */
55
     private MsnMessenger msn;
56
     private MsnMessenger msn;
56
     /** A cache of known clients. */
57
     /** A cache of known clients. */
61
     /** The fake channel to use is useFakeChannel is enabled. */
62
     /** The fake channel to use is useFakeChannel is enabled. */
62
     private MSNFakeChannel fakeChannel;
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
      * Creates a new parser for the specified address.
66
      * Creates a new parser for the specified address.
74
      *
67
      *
75
      * @param address The address to connect to
68
      * @param address The address to connect to
76
      */
69
      */
77
     public MSNParser(final URI address) {
70
     public MSNParser(final URI address) {
78
-        super(address, IMPL_MAP);
71
+        super(address);
79
 
72
 
80
         useFakeChannel = address.getQuery().matches(
73
         useFakeChannel = address.getQuery().matches(
81
                 "(?i).*(^|&)showchannel($|&).*");
74
                 "(?i).*(^|&)showchannel($|&).*");

+ 6
- 13
src/com/dmdirc/addons/parser_xmpp/XmppParser.java View File

25
 import com.dmdirc.parser.common.AwayState;
25
 import com.dmdirc.parser.common.AwayState;
26
 import com.dmdirc.parser.common.BaseSocketAwareParser;
26
 import com.dmdirc.parser.common.BaseSocketAwareParser;
27
 import com.dmdirc.parser.common.ChannelJoinRequest;
27
 import com.dmdirc.parser.common.ChannelJoinRequest;
28
+import com.dmdirc.parser.common.ChildImplementations;
28
 import com.dmdirc.parser.common.DefaultStringConverter;
29
 import com.dmdirc.parser.common.DefaultStringConverter;
29
 import com.dmdirc.parser.common.ParserError;
30
 import com.dmdirc.parser.common.ParserError;
30
 import com.dmdirc.parser.common.QueuePriority;
31
 import com.dmdirc.parser.common.QueuePriority;
31
-import com.dmdirc.parser.interfaces.ChannelClientInfo;
32
 import com.dmdirc.parser.interfaces.ChannelInfo;
32
 import com.dmdirc.parser.interfaces.ChannelInfo;
33
-import com.dmdirc.parser.interfaces.ClientInfo;
34
 import com.dmdirc.parser.interfaces.LocalClientInfo;
33
 import com.dmdirc.parser.interfaces.LocalClientInfo;
35
 import com.dmdirc.parser.interfaces.StringConverter;
34
 import com.dmdirc.parser.interfaces.StringConverter;
36
 import com.dmdirc.parser.interfaces.callbacks.AwayStateListener;
35
 import com.dmdirc.parser.interfaces.callbacks.AwayStateListener;
74
 /**
73
 /**
75
  * A parser which can understand the XMPP protocol.
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
 public class XmppParser extends BaseSocketAwareParser {
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
     /** Pattern to use to extract priority. */
82
     /** Pattern to use to extract priority. */
90
     private static final Pattern PRIORITY_PATTERN
83
     private static final Pattern PRIORITY_PATTERN
91
             = Pattern.compile("(?i)(?:^|&)priority=([0-9]+)(?:$|&)");
84
             = Pattern.compile("(?i)(?:^|&)priority=([0-9]+)(?:$|&)");
114
      * @param address The address to connect to
107
      * @param address The address to connect to
115
      */
108
      */
116
     public XmppParser(final URI address) {
109
     public XmppParser(final URI address) {
117
-        super(address, IMPL_MAP);
110
+        super(address);
118
 
111
 
119
          if (address.getQuery() == null) {
112
          if (address.getQuery() == null) {
120
             useFakeChannel = false;
113
             useFakeChannel = false;

Loading…
Cancel
Save