Browse Source

Add getChannelPrefixes method

Issue 2819

Change-Id: I80a6a36a1a19ccf41f3847bfbb1641c73d3a5bf2
Reviewed-on: http://gerrit.dmdirc.com/531
Automatic-Compile: Gregory Holmes <greboid@dmdirc.com>
Reviewed-by: Gregory Holmes <greboid@dmdirc.com>
tags/0.6.3
Chris Smith 14 years ago
parent
commit
f6104b82fd

+ 8
- 0
src/com/dmdirc/parser/interfaces/Parser.java View File

@@ -290,6 +290,14 @@ public interface Parser extends Runnable {
290 290
      * @return A string containing a list of channel user mode characters
291 291
      */
292 292
     String getChannelUserModes();
293
+
294
+    /**
295
+     * Retrieves a list of channel prefixes.
296
+     *
297
+     * @return A list of known channel prefixes
298
+     * @since 0.6.3
299
+     */
300
+    String getChannelPrefixes();
293 301
     
294 302
     /**
295 303
      * Retrieves the object which is responsible for managing callbacks for

+ 21
- 5
src/com/dmdirc/parser/irc/IRCParser.java View File

@@ -1264,7 +1264,7 @@ public class IRCParser implements SecureParser, Runnable {
1264 1264
     }
1265 1265
 
1266 1266
     /** {@inheritDoc} */
1267
-        @Override
1267
+    @Override
1268 1268
     public String getChannelUserModes() {
1269 1269
         if (h005Info.containsKey("PREFIXSTRING")) {
1270 1270
             return h005Info.get("PREFIXSTRING");
@@ -1274,7 +1274,7 @@ public class IRCParser implements SecureParser, Runnable {
1274 1274
     }
1275 1275
 
1276 1276
     /** {@inheritDoc} */
1277
-        @Override
1277
+    @Override
1278 1278
     public String getBooleanChannelModes() {
1279 1279
         final char[] modes = new char[chanModesBool.size()];
1280 1280
         int i = 0;
@@ -1287,23 +1287,39 @@ public class IRCParser implements SecureParser, Runnable {
1287 1287
     }
1288 1288
 
1289 1289
     /** {@inheritDoc} */
1290
-        @Override
1290
+    @Override
1291 1291
     public String getListChannelModes() {
1292 1292
         return getOtherModeString(MODE_LIST);
1293 1293
     }
1294 1294
 
1295 1295
     /** {@inheritDoc} */
1296
-        @Override
1296
+    @Override
1297 1297
     public String getParameterChannelModes() {
1298 1298
         return getOtherModeString(MODE_SET);
1299 1299
     }
1300 1300
 
1301 1301
     /** {@inheritDoc} */
1302
-        @Override
1302
+    @Override
1303 1303
     public String getDoubleParameterChannelModes() {
1304 1304
         return getOtherModeString((byte) (MODE_SET + MODE_UNSET));
1305 1305
     }
1306 1306
 
1307
+    /** {@inheritDoc} */
1308
+    @Override
1309
+    public String getChannelPrefixes() {
1310
+        if (chanPrefix.isEmpty()) {
1311
+            return "#&";
1312
+        }
1313
+        
1314
+        final StringBuilder builder = new StringBuilder(chanPrefix.size());
1315
+
1316
+        for (Character prefix : chanPrefix) {
1317
+            builder.append(prefix);
1318
+        }
1319
+
1320
+        return builder.toString();
1321
+    }
1322
+
1307 1323
     /**
1308 1324
      * Get modes from hChanModesOther that have a specific value.
1309 1325
      * Modes are returned in alphabetical order

Loading…
Cancel
Save