ソースを参照

Abstract parseHost[Full]

tags/0.6.3m2a1
Chris Smith 15年前
コミット
2b7181d4ad

+ 1
- 1
src/com/dmdirc/Channel.java ファイルの表示

@@ -550,7 +550,7 @@ public class Channel extends MessageTarget implements ConfigChangeListener,
550 550
             // Format topics
551 551
 
552 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 554
             args.add(((Topic) arg).getTopic());
555 555
             args.add(((Topic) arg).getTime() * 1000);
556 556
 

+ 1
- 1
src/com/dmdirc/Invite.java ファイルの表示

@@ -91,7 +91,7 @@ public class Invite {
91 91
      * @return This invite's source
92 92
      */
93 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,7 +80,8 @@ public final class Query extends MessageTarget implements
80 80
      * @param newServer The server object that this Query belongs to
81 81
      */
82 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 86
         this.server = newServer;
86 87
         this.host = newHost;
@@ -140,8 +141,7 @@ public final class Query extends MessageTarget implements
140 141
 
141 142
         for (String part : splitLine(window.getTranscoder().encode(line))) {
142 143
             if (!part.isEmpty()) {
143
-                server.getParser().sendMessage(ClientInfo.parseHost(host),
144
-                        part);
144
+                server.getParser().sendMessage(getNickname(), part);
145 145
 
146 146
                 final StringBuffer buff = new StringBuffer("querySelfMessage");
147 147
 
@@ -176,7 +176,8 @@ public final class Query extends MessageTarget implements
176 176
         final int maxLineLength = server.getParser().getMaxLength("PRIVMSG", host);
177 177
 
178 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 182
             final StringBuffer buff = new StringBuffer("querySelfAction");
182 183
 
@@ -199,7 +200,7 @@ public final class Query extends MessageTarget implements
199 200
     @Override
200 201
     public void onPrivateMessage(final Parser parser, final String message,
201 202
             final String remoteHost) {
202
-        final String[] parts = ClientInfo.parseHostFull(remoteHost);
203
+        final String[] parts = parser.parseHostmask(host);
203 204
 
204 205
         final StringBuffer buff = new StringBuffer("queryMessage");
205 206
 
@@ -218,7 +219,7 @@ public final class Query extends MessageTarget implements
218 219
     @Override
219 220
     public void onPrivateAction(final Parser parser, final String message,
220 221
             final String remoteHost) {
221
-        final String[] parts = ClientInfo.parseHostFull(host);
222
+        final String[] parts = parser.parseHostmask(host);
222 223
 
223 224
         final StringBuffer buff = new StringBuffer("queryAction");
224 225
 
@@ -231,9 +232,7 @@ public final class Query extends MessageTarget implements
231 232
      * Updates the QueryWindow's title.
232 233
      */
233 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,10 +240,11 @@ public final class Query extends MessageTarget implements
241 240
      */
242 241
     public void reregister() {
243 242
         final CallbackManager callbackManager = server.getParser().getCallbackManager();
243
+        final String nick = getNickname();
244 244
 
245 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 248
             callbackManager.addCallback(QuitListener.class, this);
249 249
             callbackManager.addCallback(NickChangeListener.class, this);
250 250
         } catch (CallbackNotFoundException ex) {
@@ -256,7 +256,7 @@ public final class Query extends MessageTarget implements
256 256
     @Override
257 257
     public void onNickChanged(final Parser tParser, final ClientInfo cClient,
258 258
             final String sOldNick) {
259
-        if (sOldNick.equals(ClientInfo.parseHost(host))) {
259
+        if (sOldNick.equals(getNickname())) {
260 260
             final CallbackManager callbackManager = server.getParser().getCallbackManager();
261 261
 
262 262
             callbackManager.delCallback(PrivateActionListener.class, this);
@@ -289,7 +289,7 @@ public final class Query extends MessageTarget implements
289 289
     @Override
290 290
     public void onQuit(final Parser tParser, final ClientInfo cClient,
291 291
             final String sReason) {
292
-        if (cClient.getNickname().equals(ClientInfo.parseHost(host))) {
292
+        if (cClient.getNickname().equals(getNickname())) {
293 293
             final StringBuffer format = new StringBuffer(sReason.isEmpty()
294 294
                 ? "queryQuit" : "queryQuitReason");
295 295
 
@@ -354,7 +354,7 @@ public final class Query extends MessageTarget implements
354 354
      * @return The nickname of this query's user
355 355
      */
356 356
     public String getNickname() {
357
-        return ClientInfo.parseHost(host);
357
+        return server.getParser().parseHostmask(host)[0];
358 358
     }
359 359
 
360 360
     /** {@inheritDoc} */

+ 5
- 5
src/com/dmdirc/Server.java ファイルの表示

@@ -482,10 +482,10 @@ public class Server extends WritableFrameContainer implements Serializable {
482 482
      * @return True iff the query is known, false otherwise
483 483
      */
484 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 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 489
                 return true;
490 490
             }
491 491
         }
@@ -500,10 +500,10 @@ public class Server extends WritableFrameContainer implements Serializable {
500 500
      * @return The appropriate query object
501 501
      */
502 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 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 507
                 return query;
508 508
             }
509 509
         }
@@ -603,7 +603,7 @@ public class Server extends WritableFrameContainer implements Serializable {
603 603
         if (!hasQuery(host)) {
604 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 607
             queries.add(newQuery);
608 608
         }
609 609
     }

+ 1
- 1
src/com/dmdirc/ServerEventHandler.java ファイルの表示

@@ -132,7 +132,7 @@ public final class ServerEventHandler extends EventHandler
132 132
         owner.doNotification("privateCTCP", CoreActionType.SERVER_CTCP,
133 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 138
     /** {@inheritDoc} */

+ 1
- 2
src/com/dmdirc/commandparser/commands/channel/ShowTopic.java ファイルの表示

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

+ 9
- 0
src/com/dmdirc/parser/interfaces/Parser.java ファイルの表示

@@ -267,4 +267,13 @@ public interface Parser extends Runnable {
267 267
      */
268 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,4 +2062,10 @@ class IRCParser implements SecureParser, Runnable {
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
 }

読み込み中…
キャンセル
保存