| 
 | ||||||||
| フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||
Cメールによる通信を制御するためのMIDPのDatagramConnectionnを継承したインタフェースです。 パケットCメールによるアプリケーション同士の通信機能を提供します。
CMailConnectionインタフェースは、javax.microedition.io.Connector.open()メソッドの"cmail"スキームに対応しています。
 "cmail://[tel-no]" 
 tel-noを指定した場合には、tel-noが表す端末に接続要求を出します。   
 tel-noを指定しなかった場合には、接続要求を待ち受ける状態になります。
 
起動時に起動要因が、“Cメール起動要求”になっていた場合には、 tel-no未指定のopen()メソッド呼び出し後のget系メソッドは即時に成功します。
tel-noは数字、空白、'P'、'-'から構成されます。それ以外が指定された場合は、 IllegalArgumentExceptionが発生します。
既にコネクションが開かれている場合に(起動属性Cメールを受けて起動した場合、起動後に接続要求を 受けた場合など)tel-noを指定してopen()メソッドを呼び出すと、IOExceptionが発生します。
各種設定メソッドは、送受信メソッドを呼び出す前のみ有効とし、一度でも送受信メソッドを呼び出した後に設定メソッドを呼び出した場合は、IllegalStateExceptionが発生します。
 起動要求を受けて起動したアプリケーションは、必ずcmailスキームをopenしなければなりません。   
 起動要因は、java.lang.System.getProperty()の、"kddi.system.wakeupMode"キーで取得します。
  0=通常起動、1=Cメール起動要求を受けて起動、2=アラーム起動
 
状態遷移を下記に示します。○はブロックすることを表し、処理が完了するまで呼び出し元に戻りません。特に●はVM全体をブロックすることを表します。 "cmail"スキームに対するオープンは、受け付けと、要求で各1インスタンスしか生成できません。 二重にオープンしようとした場合には、あとからのオープンしたときにIllegalStateExceptonが発生します。
| フィールドの概要 | |
| static int | CONNECT_FAILURE網状態などによりaccept()、connect()が失敗したときの戻り値を示します。 | 
| static int | CONNECT_NO_SUPPORTCメールチャット非対応のためにaccept()、connect()が失敗したときの戻り値を示します。 | 
| static int | CONNECT_SUCCESSaccept()、connect()が成功したときの戻り値を示します。 | 
| static int | encDgramSize | 
| static int | rawDgramSize | 
| static int | SINGLE_MODE単発モードであることを表します。 | 
| メソッドの概要 | |
|  java.lang.String | getMessage()通信相手からのメッセージを返します。 | 
|  int | getMode()通信モードを返します。 | 
|  java.lang.String | getNickName()通信相手のNickNameを返します。 | 
|  java.lang.String | getTelNo()通信相手のtel-noを返します。 | 
|  void | sendTo()単発メールを送信します。 | 
|  void | setMessage(java.lang.String message)送信メッセージを設定します。 | 
|  void | setNickName(java.lang.String nickname)ニックネームを設定します。 | 
|  void | setSingleMode()送信モードを単発メールモードに設定します。 | 
| インタフェース javax.microedition.io.DatagramConnection から継承したメソッド | 
| getMaximumLength, getNominalLength, newDatagram, newDatagram, newDatagram, newDatagram, receive, send | 
| インタフェース javax.microedition.io.Connection から継承したメソッド | 
| close | 
| フィールドの詳細 | 
public static final int rawDgramSize
public static final int encDgramSize
public static final int SINGLE_MODE
getMode()| メソッドの詳細 | 
public void setSingleMode()
IllegalStateException - メッセージ情報の設定が可能ではないときに発生するpublic void setNickName(java.lang.String nickname)
nickname - ニックネームIllegalStateException - メッセージ情報設定が可能ではないとき、または相手先情報の取得が可能ではないときに発生するjava.lang.IllegalArgumentException - ニックネームが最大長を超えた場合に発生するpublic void setMessage(java.lang.String message)
message - 送信メッセージIllegalStateException - メッセージ情報設定が可能ではない場合に発生するjava.lang.IllegalArgumentException - メッセージが最大長を超えた場合に発生する
public java.lang.String getTelNo()
                          throws java.io.IOException
public java.lang.String getNickName()
                             throws java.io.IOException
public java.lang.String getMessage()
                            throws java.io.IOException
public int getMode()
            throws java.io.IOException
SINGLE_MODE  
public void sendTo()
            throws java.io.IOException
IllegalStateException - 送信モードが単発メールモードではない場合に発生する| 
 | ||||||||
| フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||