com.kddi.io
インタフェース CMailConnection <Phase1>

すべてのスーパーインタフェース:
javax.microedition.io.Connection, javax.microedition.io.DatagramConnection

public interface CMailConnection
extends javax.microedition.io.DatagramConnection

Cメールによる通信を制御するためのMIDPのDatagramConnectionnを継承したインタフェースです。 パケットCメールによるアプリケーション同士の通信機能を提供します。

Cメール(EZアプリ通信)について

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_SUPPORT
          Cメールチャット非対応のためにaccept()、connect()が失敗したときの戻り値を示します。
static int CONNECT_SUCCESS
          accept()、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
 

フィールドの詳細

rawDgramSize

public static final int rawDgramSize

encDgramSize

public static final int encDgramSize

SINGLE_MODE

public static final int SINGLE_MODE
単発モードであることを表します。
関連項目:
getMode()
メソッドの詳細

setSingleMode

public void setSingleMode()
送信モードを単発メールモードに設定します。
メッセージ情報設定可能のときにだけ呼び出し可能です。
例外:
IllegalStateException - メッセージ情報の設定が可能ではないときに発生する

setNickName

public void setNickName(java.lang.String nickname)
ニックネームを設定します。未設定の場合には空文字が設定されます。
パラメータ:
nickname - ニックネーム
例外:
IllegalStateException - メッセージ情報設定が可能ではないとき、または相手先情報の取得が可能ではないときに発生する
java.lang.IllegalArgumentException - ニックネームが最大長を超えた場合に発生する

setMessage

public void setMessage(java.lang.String message)
送信メッセージを設定します。
パラメータ:
message - 送信メッセージ
例外:
IllegalStateException - メッセージ情報設定が可能ではない場合に発生する
java.lang.IllegalArgumentException - メッセージが最大長を超えた場合に発生する

getTelNo

public java.lang.String getTelNo()
                          throws java.io.IOException
通信相手のtel-noを返します。
戻り値:
相手の電話番号

getNickName

public java.lang.String getNickName()
                             throws java.io.IOException
通信相手のNickNameを返します。
戻り値:
相手のニックネーム

getMessage

public java.lang.String getMessage()
                            throws java.io.IOException
通信相手からのメッセージを返します。
戻り値:
メッセージ

getMode

public int getMode()
            throws java.io.IOException
通信モードを返します。
戻り値:
通信モード。SINGLE_MODE  

sendTo

public void sendTo()
            throws java.io.IOException
単発メールを送信します。
例外:
IllegalStateException - 送信モードが単発メールモードではない場合に発生する


Copyright 2003 Aplix Corporation. All rights reserved. Aplix Confidential and Restricted.