Changeset 34071

Show
Ignore:
Timestamp:
06/21/09 16:50:07 (5 years ago)
Author:
tarchan
Message:

lang/java/IRCKit: javadocを追加

Location:
lang/java/IRCKit/trunk/src/com/mac/tarchan/irc
Files:
2 added
6 modified

Legend:

Unmodified
Added
Removed
  • lang/java/IRCKit/trunk/src/com/mac/tarchan/irc/Handler.java

    r34067 r34071  
    1111 
    1212/** 
    13  * Handler 
     13 * IRC接続のプロトコルハンドラです。 
     14 *  
     15 * @author tarchan 
     16 * @see URL#URL(String, String, int, String) 
    1417 */ 
    1518public class Handler extends URLStreamHandler 
    1619{ 
    1720        /** 
    18          * @see java.net.URLStreamHandler#openConnection(java.net.URL) 
     21         * IRC接続をオープンします。 
     22         *  
     23         * @see URLStreamHandler#openConnection(java.net.URL) 
     24         * @see IRCConnection 
    1925         */ 
    2026        @Override 
     
    2531 
    2632        /** 
    27          * @see java.net.URLStreamHandler#getDefaultPort() 
     33         * IRC接続のデフォルトのポート番号を返します。 
     34         *  
     35         * @see URLStreamHandler#getDefaultPort() 
    2836         */ 
    2937        @Override 
  • lang/java/IRCKit/trunk/src/com/mac/tarchan/irc/IRCConnection.java

    r34067 r34071  
    1212 
    1313/** 
    14  * IRC 接続です。 
     14 * IRCサーバーへのURL接続です。 
     15 * IRC URL 構文は次のとおりです。 
     16 * <pre>irc://host:port</pre> 
    1517 *  
     18 * @author tarchan 
    1619 * @see Handler#openConnection(URL) 
    1720 */ 
     
    1922{ 
    2023        /** ソケット */ 
    21         protected Socket socket; 
     24        private Socket socket; 
    2225 
    2326        /** 
  • lang/java/IRCKit/trunk/src/com/mac/tarchan/irc/client/IRCClient.java

    r34067 r34071  
    2222 
    2323/** 
    24  * IRCClient 
     24 * IRCクライアントを実装します。 
     25 *  
     26 * @author tarchan 
    2527 */ 
    2628public class IRCClient 
     
    4446 
    4547        /** 環境設定 */ 
    46         protected Properties props = new Properties(DEFAULTS); 
     48        private Properties props = new Properties(DEFAULTS); 
    4749 
    4850        /** 改行コード */ 
    49         public static final String CRLF = "\r\n"; 
     51        private static final String CRLF = "\r\n"; 
    5052 
    5153        /** 入力ストリーム */ 
    52         protected InputStream in; 
     54        private InputStream in; 
    5355 
    5456        /** 出力ストリーム */ 
    55         protected PrintStream out; 
    56  
    57 //      /** メッセージキュー */ 
    58 //      protected Queue<String> queue; 
    59  
    60 //      /** 入力キュー */ 
    61 //      protected ScheduledExecutorService inQueue = Executors.newScheduledThreadPool(1); 
     57        private PrintStream out; 
    6258 
    6359        /** メッセージキュー */ 
    64         protected ExecutorService postQueue = Executors.newSingleThreadExecutor(); 
     60        private ExecutorService postQueue = Executors.newSingleThreadExecutor(); 
    6561 
    6662        /** メッセージハンドラ */ 
    67         protected HashMap<String, ArrayList<IRCMessageHandler>> handlerMap = new HashMap<String, ArrayList<IRCMessageHandler>>(); 
     63        private HashMap<String, ArrayList<IRCMessageHandler>> handlerMap = new HashMap<String, ArrayList<IRCMessageHandler>>(); 
    6864 
    6965        static 
     
    7773 
    7874        /** 
    79          * IRCClient 
     75         * IRCクライアントを構築します。 
    8076         */ 
    8177        public IRCClient() 
     
    9995         *  
    10096         * @param name パッケージ名 
     97         * @see URL#URL(String, String, int, String) 
    10198         */ 
    10299        public static void setProtocolHandlerPackage(String name) 
     
    204201 
    205202        /** 
     203         * 注釈されたメッセージハンドラをすべて追加します。 
     204         *  
    206205         * @param obj オブジェクト 
    207206         * @return メッセージハンドラの配列 
     
    220219                                addMessageHandler(reply.value(), handler); 
    221220                                handlerChain.add(handler); 
    222                                 System.out.format("handler: %s: %s\n", reply.value(), handler); 
     221                                System.out.format("handler: %s: %s\n", reply.value(), handler.getClass()); 
    223222                        } 
    224223                } 
     
    240239                        handlerChain.remove(handler); 
    241240                        if (handlerChain.size() == 0) handlerMap.remove(command); 
     241                } 
     242        } 
     243 
     244        /** 
     245         * すべてのメッセージハンドラを削除します。 
     246         *  
     247         * @param handler メッセージハンドラ 
     248         */ 
     249        public void removeMessageHandlerAll(IRCMessageHandler handler) 
     250        { 
     251                for (String command : handlerMap.keySet()) 
     252                { 
     253                        removeMessageHandler(command, handler); 
    242254                } 
    243255        } 
  • lang/java/IRCKit/trunk/src/com/mac/tarchan/irc/client/IRCMessage.java

    r34067 r34071  
    2222/** 
    2323 * IRCメッセージを構文解析します。 
    24  * 
    25  * <pre> 
    26  * message = [':'<prefix> <SPACE>] <command> <params> <crlf> 
    27  * prefix = <servername> | <nick>['!'<user>]['@'<host>] 
    28  * params = <SPACE>[':'<trailing> | <middle> <params>] 
    29  * </pre> 
     24 * 疑似BNFによるメッセージ形式は次のとおりです。 
     25 * <p 
     26 * <a href="http://www.haun.org/kent/lib/rfc1459-irc-ja.html#c2.3.1">RFC1459: Internet Relay Chat Protocol (IRC)</a> 
     27 *</p> 
    3028 * 
    3129 * @author tarchan 
     
    4745        private static final String COLOR_DELIMITER = "\0x3"; 
    4846 
    49 //      /** 反転表示または斜体表示 */ 
    50 //      private static final String REVERSE_DELIMITER = "\0x16"; 
    51 // 
    52 //      /** アンダーライン表示 */ 
    53 //      private static final String UNDERLINE_DELIMITER = "\0x1f"; 
    54 // 
    55 //      /** 使用禁止 */ 
    56 //      private static final String NO_USE = "[\0x00\0x0d\0x0a]";        
     47        /** 反転表示または斜体表示 */ 
     48        private static final String REVERSE_DELIMITER = "\0x16"; 
     49 
     50        /** アンダーライン表示 */ 
     51        private static final String UNDERLINE_DELIMITER = "\0x1f"; 
    5752 
    5853        /** 接続が登録されて、すべてのIRCネットワークに認知されたということを表します。 */ 
     
    6156        /** サービスがうまく登録されると、サーバからサービスに送られます。 */ 
    6257        public static final int RPL_YOURESERVICE = 383; 
    63  
    64 //      /** 
    65 //       * クライアント-サーバ接続に使われる番号です。 
    66 //       * クライアント-サーバ接続に使われるリプライは、001から099です。 
    67 //       */ 
    68 //      private static final int CONNECT_REPLY = 001; 
    69 // 
    70 //      /** 
    71 //       * コマンドリプライを表す番号です。 
    72 //       * コマンドの結果生成されるリプライは、200から399です。 
    73 //       */ 
    74 //      private static final int COMMAND_REPLY = 200; 
    75 // 
    76 //      /** 
    77 //       * エラーリプライを表す番号です。 
    78 //       * エラーリプライは、400から599です。 
    79 //       */ 
    80 //      private static final int ERROR_REPLY = 400; 
    81 // 
    82 //      /** 
    83 //       * ニューメリックリプライ以外を表す番号です。 
    84 //       */ 
    85 //      private static final int UNKNOWN_REPLY = -1; 
    8658 
    8759        /** 入力メッセージ */ 
     
    671643 
    672644        /** 
    673          * ボールド指定を含むかどうか判定します。 
    674          *  
    675          * @return ボールド指定を含む場合は true 
     645         * ボールド表示を含むかどうか判定します。 
     646         *  
     647         * @return ボールド表示を含む場合は true 
    676648         */ 
    677649        public boolean withBold() 
     
    681653 
    682654        /** 
    683          * カラー指定を含むかどうか判定します。 
    684          *  
    685          * @return カラー指定を含む場合は true 
     655         * カラー表示を含むかどうか判定します。 
     656         *  
     657         * @return カラー表示を含む場合は true 
    686658         */ 
    687659        public boolean withColor() 
    688660        { 
    689661                return getTrail().contains(COLOR_DELIMITER); 
     662        } 
     663 
     664        /** 
     665         * 反転表示または斜体表示を含むかどうか判定します。 
     666         *  
     667         * @return 反転表示または斜体表示を含む場合は true 
     668         */ 
     669        public boolean withReverse() 
     670        { 
     671                return getTrail().contains(REVERSE_DELIMITER); 
     672        } 
     673 
     674        /** 
     675         * アンダーライン表示を含むかどうか判定します。 
     676         *  
     677         * @return アンダーライン表示を含む場合は true 
     678         */ 
     679        public boolean withUnderline() 
     680        { 
     681                return getTrail().contains(UNDERLINE_DELIMITER); 
    690682        } 
    691683 
  • lang/java/IRCKit/trunk/src/com/mac/tarchan/irc/client/IRCMessageHandler.java

    r34067 r34071  
    44package com.mac.tarchan.irc.client; 
    55 
     6import java.util.EventListener; 
     7 
    68/** 
    7  * IRCMessageListener 
    8  */ 
    9 public interface IRCMessageHandler 
     9 * IRCメッセージを受け取るためのリスナーインターフェースです。 
     10 *  
     11 * @author tarchan 
     12 * @see IRCMessage 
     13 * @see IRCClient#addMessageHandler(String, IRCMessageHandler) 
     14*/ 
     15public interface IRCMessageHandler extends EventListener 
    1016{ 
    1117        /** 
    12          * メッセージを受け取ります。 
     18         * IRCメッセージを受け取ります。 
    1319         *  
    14          * @param msg メッセージ 
     20         * @param msg IRCメッセージ 
    1521         */ 
    1622        public void onMessage(IRCMessage msg); 
  • lang/java/IRCKit/trunk/src/com/mac/tarchan/irc/client/Reply.java

    r34067 r34071  
    1010 
    1111/** 
    12  * メッセージハンドラを示すアノテーションです。 
     12 * メソッド宣言がメッセージハンドラであることを示します。 
    1313 *  
    1414 * @author tarchan 
     15 * @see IRCMessageHandler#onMessage(IRCMessage) 
     16 * @see IRCClient#addMessageHandlerAll(Object) 
    1517 */ 
    1618@Retention(RetentionPolicy.RUNTIME) 
     
    1820public @interface Reply 
    1921{ 
    20         /** コマンド */ 
     22        /** 
     23         * 注釈を付けたメソッドで処理されるコマンドを示します。 
     24         *  
     25         * @see IRCMessage#getCommand() 
     26         */ 
    2127        String value(); 
    2228}