浏览代码

Abstract parseHost[Full]

tags/0.6.3m2a1
Chris Smith 15 年前
父节点
当前提交
2b7181d4ad

+ 1
- 1
src/com/dmdirc/Channel.java 查看文件

550
             // Format topics
550
             // Format topics
551
 
551
 
552
             args.add("");
552
             args.add("");
553
-            args.addAll(Arrays.asList(ClientInfo.parseHostFull(((Topic) arg).getClient())));
553
+            args.addAll(Arrays.asList(server.getParser().parseHostmask(((Topic) arg).getClient())));
554
             args.add(((Topic) arg).getTopic());
554
             args.add(((Topic) arg).getTopic());
555
             args.add(((Topic) arg).getTime() * 1000);
555
             args.add(((Topic) arg).getTime() * 1000);
556
 
556
 

+ 1
- 1
src/com/dmdirc/Invite.java 查看文件

91
      * @return This invite's source
91
      * @return This invite's source
92
      */
92
      */
93
     public String[] getSource() {
93
     public String[] getSource() {
94
-        return ClientInfo.parseHostFull(source);
94
+        return server.getParser().parseHostmask(source);
95
     }
95
     }
96
     
96
     
97
     /**
97
     /**

+ 14
- 14
src/com/dmdirc/Query.java 查看文件

80
      * @param newServer The server object that this Query belongs to
80
      * @param newServer The server object that this Query belongs to
81
      */
81
      */
82
     public Query(final Server newServer, final String newHost) {
82
     public Query(final Server newServer, final String newHost) {
83
-        super("query", ClientInfo.parseHost(newHost), newServer.getConfigManager());
83
+        super("query", newServer.getParser().parseHostmask(newHost)[0],
84
+                newServer.getConfigManager());
84
 
85
 
85
         this.server = newServer;
86
         this.server = newServer;
86
         this.host = newHost;
87
         this.host = newHost;
140
 
141
 
141
         for (String part : splitLine(window.getTranscoder().encode(line))) {
142
         for (String part : splitLine(window.getTranscoder().encode(line))) {
142
             if (!part.isEmpty()) {
143
             if (!part.isEmpty()) {
143
-                server.getParser().sendMessage(ClientInfo.parseHost(host),
144
-                        part);
144
+                server.getParser().sendMessage(getNickname(), part);
145
 
145
 
146
                 final StringBuffer buff = new StringBuffer("querySelfMessage");
146
                 final StringBuffer buff = new StringBuffer("querySelfMessage");
147
 
147
 
176
         final int maxLineLength = server.getParser().getMaxLength("PRIVMSG", host);
176
         final int maxLineLength = server.getParser().getMaxLength("PRIVMSG", host);
177
 
177
 
178
         if (maxLineLength >= action.length() + 2) {
178
         if (maxLineLength >= action.length() + 2) {
179
-            server.getParser().sendAction(ClientInfo.parseHost(host), window.getTranscoder().encode(action));
179
+            server.getParser().sendAction(getNickname(),
180
+                    window.getTranscoder().encode(action));
180
 
181
 
181
             final StringBuffer buff = new StringBuffer("querySelfAction");
182
             final StringBuffer buff = new StringBuffer("querySelfAction");
182
 
183
 
199
     @Override
200
     @Override
200
     public void onPrivateMessage(final Parser parser, final String message,
201
     public void onPrivateMessage(final Parser parser, final String message,
201
             final String remoteHost) {
202
             final String remoteHost) {
202
-        final String[] parts = ClientInfo.parseHostFull(remoteHost);
203
+        final String[] parts = parser.parseHostmask(host);
203
 
204
 
204
         final StringBuffer buff = new StringBuffer("queryMessage");
205
         final StringBuffer buff = new StringBuffer("queryMessage");
205
 
206
 
218
     @Override
219
     @Override
219
     public void onPrivateAction(final Parser parser, final String message,
220
     public void onPrivateAction(final Parser parser, final String message,
220
             final String remoteHost) {
221
             final String remoteHost) {
221
-        final String[] parts = ClientInfo.parseHostFull(host);
222
+        final String[] parts = parser.parseHostmask(host);
222
 
223
 
223
         final StringBuffer buff = new StringBuffer("queryAction");
224
         final StringBuffer buff = new StringBuffer("queryAction");
224
 
225
 
231
      * Updates the QueryWindow's title.
232
      * Updates the QueryWindow's title.
232
      */
233
      */
233
     private void updateTitle() {
234
     private void updateTitle() {
234
-        final String title = ClientInfo.parseHost(host);
235
-
236
-        window.setTitle(title);
235
+        window.setTitle(getNickname());
237
     }
236
     }
238
 
237
 
239
     /**
238
     /**
241
      */
240
      */
242
     public void reregister() {
241
     public void reregister() {
243
         final CallbackManager callbackManager = server.getParser().getCallbackManager();
242
         final CallbackManager callbackManager = server.getParser().getCallbackManager();
243
+        final String nick = getNickname();
244
 
244
 
245
         try {
245
         try {
246
-            callbackManager.addCallback(PrivateActionListener.class, this, ClientInfo.parseHost(host));
247
-            callbackManager.addCallback(PrivateMessageListener.class, this, ClientInfo.parseHost(host));
246
+            callbackManager.addCallback(PrivateActionListener.class, this, nick);
247
+            callbackManager.addCallback(PrivateMessageListener.class, this, nick);
248
             callbackManager.addCallback(QuitListener.class, this);
248
             callbackManager.addCallback(QuitListener.class, this);
249
             callbackManager.addCallback(NickChangeListener.class, this);
249
             callbackManager.addCallback(NickChangeListener.class, this);
250
         } catch (CallbackNotFoundException ex) {
250
         } catch (CallbackNotFoundException ex) {
256
     @Override
256
     @Override
257
     public void onNickChanged(final Parser tParser, final ClientInfo cClient,
257
     public void onNickChanged(final Parser tParser, final ClientInfo cClient,
258
             final String sOldNick) {
258
             final String sOldNick) {
259
-        if (sOldNick.equals(ClientInfo.parseHost(host))) {
259
+        if (sOldNick.equals(getNickname())) {
260
             final CallbackManager callbackManager = server.getParser().getCallbackManager();
260
             final CallbackManager callbackManager = server.getParser().getCallbackManager();
261
 
261
 
262
             callbackManager.delCallback(PrivateActionListener.class, this);
262
             callbackManager.delCallback(PrivateActionListener.class, this);
289
     @Override
289
     @Override
290
     public void onQuit(final Parser tParser, final ClientInfo cClient,
290
     public void onQuit(final Parser tParser, final ClientInfo cClient,
291
             final String sReason) {
291
             final String sReason) {
292
-        if (cClient.getNickname().equals(ClientInfo.parseHost(host))) {
292
+        if (cClient.getNickname().equals(getNickname())) {
293
             final StringBuffer format = new StringBuffer(sReason.isEmpty()
293
             final StringBuffer format = new StringBuffer(sReason.isEmpty()
294
                 ? "queryQuit" : "queryQuitReason");
294
                 ? "queryQuit" : "queryQuitReason");
295
 
295
 
354
      * @return The nickname of this query's user
354
      * @return The nickname of this query's user
355
      */
355
      */
356
     public String getNickname() {
356
     public String getNickname() {
357
-        return ClientInfo.parseHost(host);
357
+        return server.getParser().parseHostmask(host)[0];
358
     }
358
     }
359
 
359
 
360
     /** {@inheritDoc} */
360
     /** {@inheritDoc} */

+ 5
- 5
src/com/dmdirc/Server.java 查看文件

482
      * @return True iff the query is known, false otherwise
482
      * @return True iff the query is known, false otherwise
483
      */
483
      */
484
     public boolean hasQuery(final String host) {
484
     public boolean hasQuery(final String host) {
485
-        final String nick = ClientInfo.parseHost(host);
485
+        final String nick = parser.parseHostmask(host)[0];
486
 
486
 
487
         for (Query query : queries) {
487
         for (Query query : queries) {
488
-            if (converter.equalsIgnoreCase(ClientInfo.parseHost(query.getHost()), nick)) {
488
+            if (converter.equalsIgnoreCase(parser.parseHostmask(query.getHost())[0], nick)) {
489
                 return true;
489
                 return true;
490
             }
490
             }
491
         }
491
         }
500
      * @return The appropriate query object
500
      * @return The appropriate query object
501
      */
501
      */
502
     public Query getQuery(final String host) {
502
     public Query getQuery(final String host) {
503
-        final String nick = ClientInfo.parseHost(host);
503
+        final String nick = parser.parseHostmask(host)[0];
504
 
504
 
505
         for (Query query : queries) {
505
         for (Query query : queries) {
506
-            if (converter.equalsIgnoreCase(ClientInfo.parseHost(query.getHost()), nick)) {
506
+            if (converter.equalsIgnoreCase(parser.parseHostmask(query.getHost())[0], nick)) {
507
                 return query;
507
                 return query;
508
             }
508
             }
509
         }
509
         }
603
         if (!hasQuery(host)) {
603
         if (!hasQuery(host)) {
604
             final Query newQuery = new Query(this, host);
604
             final Query newQuery = new Query(this, host);
605
 
605
 
606
-            tabCompleter.addEntry(TabCompletionType.QUERY_NICK, ClientInfo.parseHost(host));
606
+            tabCompleter.addEntry(TabCompletionType.QUERY_NICK, parser.parseHostmask(host)[0]);
607
             queries.add(newQuery);
607
             queries.add(newQuery);
608
         }
608
         }
609
     }
609
     }

+ 1
- 1
src/com/dmdirc/ServerEventHandler.java 查看文件

132
         owner.doNotification("privateCTCP", CoreActionType.SERVER_CTCP,
132
         owner.doNotification("privateCTCP", CoreActionType.SERVER_CTCP,
133
                 owner.getParser().getClientInfoOrFake(sHost), sType, sMessage);
133
                 owner.getParser().getClientInfoOrFake(sHost), sType, sMessage);
134
 
134
 
135
-        owner.sendCTCPReply(ClientInfo.parseHost(sHost), sType, sMessage);
135
+        owner.sendCTCPReply(tParser.parseHostmask(sHost)[0], sType, sMessage);
136
     }
136
     }
137
 
137
 
138
     /** {@inheritDoc} */
138
     /** {@inheritDoc} */

+ 1
- 2
src/com/dmdirc/commandparser/commands/channel/ShowTopic.java 查看文件

29
 import com.dmdirc.commandparser.CommandManager;
29
 import com.dmdirc.commandparser.CommandManager;
30
 import com.dmdirc.commandparser.commands.ExternalCommand;
30
 import com.dmdirc.commandparser.commands.ExternalCommand;
31
 import com.dmdirc.parser.interfaces.ChannelInfo;
31
 import com.dmdirc.parser.interfaces.ChannelInfo;
32
-import com.dmdirc.parser.interfaces.ClientInfo;
33
 import com.dmdirc.ui.interfaces.InputWindow;
32
 import com.dmdirc.ui.interfaces.InputWindow;
34
 
33
 
35
 /**
34
 /**
55
             if (cChannel.getTopic().isEmpty()) {
54
             if (cChannel.getTopic().isEmpty()) {
56
                 sendLine(origin, isSilent, "channelNoTopic", cChannel);
55
                 sendLine(origin, isSilent, "channelNoTopic", cChannel);
57
             } else {
56
             } else {
58
-                final String[] parts = ClientInfo.parseHostFull(cChannel.getTopicSetter());
57
+                final String[] parts = server.getParser().parseHostmask(cChannel.getTopicSetter());
59
 
58
 
60
                 sendLine(origin, isSilent, "channelTopicDiscovered",
59
                 sendLine(origin, isSilent, "channelTopicDiscovered",
61
                         "", parts[0], parts[1], parts[2], cChannel.getTopic(),
60
                         "", parts[0], parts[1], parts[2], cChannel.getTopic(),

+ 9
- 0
src/com/dmdirc/parser/interfaces/Parser.java 查看文件

267
      */
267
      */
268
     RegexStringList getIgnoreList();
268
     RegexStringList getIgnoreList();
269
 
269
 
270
+    /**
271
+     * Parses the specified hostmask into an array containing a nickname,
272
+     * username and hostname, in that order.
273
+     *
274
+     * @param hostmask The hostmask to be parsed
275
+     * @return An array containing the nickname, username and hostname
276
+     */
277
+    String[] parseHostmask(String hostmask);
278
+
270
 }
279
 }

+ 6
- 0
src/com/dmdirc/parser/irc/IRCParser.java 查看文件

2062
 		}
2062
 		}
2063
 	}
2063
 	}
2064
 
2064
 
2065
+    /** {@inheritDoc} */
2066
+    @Override
2067
+    public String[] parseHostmask(final String hostmask) {
2068
+        return IRCClientInfo.parseHostFull(hostmask);
2069
+    }
2070
+
2065
 }
2071
 }

正在加载...
取消
保存