com.nttdocomo.io
インタフェース FelicaClientObexConnection

すべてのスーパーインタフェース:
ClientObexConnection, javax.microedition.io.Connection, javax.microedition.io.InputConnection, ObexConnection, javax.microedition.io.OutputConnection, javax.microedition.io.StreamConnection

public interface FelicaClientObexConnection
extends ClientObexConnection
 [iアプリオプションAPI]

アドホック通信による連続データ転送において、 OBEX クライアントとして通信を行う場合の接続を定義します。

AdhocDataTransfer.setup(String, String, Hashtable) メソッドにてアドホック通信のリンクを確立した後に、 Connector.open("obex:/felicaclient") メソッドを呼び出すと、戻り値として、 このインタフェースを実装したインスタンスを取得することができます。

上記インスタンスは、Connector.open() した瞬間に確立していたリンクのみに対して有効です。 現在のリンクが切れ、再度別のリンクが確立したとしても、 このインスタンスは無効のままで、リンクが切れているものとして振る舞います。

導入されたバージョン:
DoJa-5.0 (903i)

フィールドの概要
 
インタフェース com.nttdocomo.io.ObexConnection から継承したフィールド
ACCEPTED, BAD_GATEWAY, BAD_REQUEST, COMM_MODE_IRDA, COMM_MODE_IRSIMPLE_INTERACTIVE, COMM_MODE_IRSIMPLE_UNILATERALLY, CONFLICT, CONTINUE, CREATED, DATABASE_FULL, DATABASE_LOCKED, DISCONNECT, FORBIDDEN, GATEWAY_TIMEOUT, GET, GONE, HTTP_VERSION_NOT_SUPPORTED, INTERNAL_SERVER_ERROR, LENGTH_REQUIRED, METHOD_NOT_ALLOWED, MOVED_PERMANENTLY, MOVED_TEMPORARILY, MULTIPLE_CHOICES, NO_CONTENT, NON_AUTHORITATIVE_INFORMATION, NOT_ACCEPTABLE, NOT_FOUND, NOT_IMPLEMENTED, NOT_MODIFIED, PARTIAL_CONTENT, PAYMENT_REQUIRED, PRECONDITION_FAILED, PROXY_AUTHENTICATION_REQUIRED, PUT, REQUEST_ENTITY_TOO_LARGE, REQUEST_TIME_OUT, REQUEST_URL_TOO_LARGE, RESET_CONTENT, SEE_OTHER, SERVICE_UNAVAILABLE, SUCCESS, UNAUTHORIZED, UNSUPPORTED_MEDIA_TYPE, USE_PROXY
 
メソッドの概要
 void close()
           この接続をクローズします。
 void connect()
          接続を確立します。
 void connect(int mode)
          このインタフェースを実装したインスタンスに対して呼び出すことはできません。
 int getCommMode()
          このインタフェースを実装したインスタンスに対して呼び出すことはできません。
 int getResponseCode()
           レスポンスコードを取得します。
 void sendRequest()
          リクエストを送信して、レスポンスの受信を完了するまで待ちます。
 void setOperation(int operation)
          オペレーションコードを設定します。
 
インタフェース com.nttdocomo.io.ObexConnection から継承したメソッド
getContentLength, getName, getTime, getType, setName, setTime, setType
 
インタフェース javax.microedition.io.InputConnection から継承したメソッド
openDataInputStream, openInputStream
 
インタフェース javax.microedition.io.OutputConnection から継承したメソッド
openDataOutputStream, openOutputStream
 

メソッドの詳細

connect

public void connect()
             throws java.io.IOException
接続を確立します。

定義:
インタフェース ClientObexConnection 内の connect
例外:
RuntimeException - 呼び出してはならない状態の時に呼び出された場合に発生します。
ConnectionException - 既に接続要求発行中の別スレッドが存在するか、別オブジェクトにより既に通信リソースが使用されている場合に発生します(BUSY_RESOURCE)。
SecurityException - OBEX の使用が許可されていない場合に発生します。
java.io.InterruptedIOException - 別スレッドやシステムからのFelicaClientObexConnection.close()Felica.close()AdhocDataTransfer.terminateAdhoc() 呼び出し、 動画再生(コンポーネント上における再生に限る)の開始により、 通信が中断された場合に発生します。
ConnectionException - ネイティブの OBEX レイヤでタイムアウトが発生した場合に発生します(TIMEOUT)。
ConnectionException - ユーザ操作により通信を中断された場合や、 ユーザ操作により通信を中断された直後に呼び出された場合 に発生します(USER_ABORT)。
java.io.IOException - I/O エラーが発生した場合に発生します。

setOperation

public void setOperation(int operation)
オペレーションコードを設定します。 設定できるオペレーションは "PUT" と "GET" です。

定義:
インタフェース ClientObexConnection 内の setOperation
パラメータ:
operation - オペレーションコードを指定します。
例外:
RuntimeException - 呼び出してはならない状態の時に呼び出された場合に発生します。
IllegalArgumentException - 引数 operation にサポートしていないオペレーションコードが指定された場合に発生します。
IllegalArgumentException - WRITEモードでの接続に対してGETオペレーションが指定された場合やREADモードでの接続に対してPUTオペレーションが指定された場合に発生します。

sendRequest

public void sendRequest()
                 throws java.io.IOException
リクエストを送信して、レスポンスの受信を完了するまで待ちます。 このメソッドを呼び出すとリクエストを送信して、 レスポンスが到着するまでブロックします。 レスポンスを全て受信し終わったらこのメソッドから戻ります。

このメソッドを呼び出すことによって、それより前にこの接続オブジェクトから 取り出した InputStream, DataInputStream, OutputStream, DataOutputStream が無効になります。 次に InputStream, DataInputStream を取り出した時は、 このオペレーションで受信したデータを読み出す入力ストリームを返します。 また、次に OutputStream, DataOutputStream を取り出した時は、 次のオペレーションで送信するデータを書き込む出力ストリームを返します。

定義:
インタフェース ClientObexConnection 内の sendRequest
例外:
RuntimeException - 呼び出してはならない状態の時に呼び出された場合に発生します。
ConnectionException - オペレーションコードがセットされていない場合に発生します(ILLEGAL_STATE)。
SecurityException - OBEX の使用が許可されていない場合に発生します。
java.io.InterruptedIOException - 別スレッドやシステムからのFelicaClientObexConnection.close()Felica.close()AdhocDataTransfer.terminateAdhoc() 呼び出し、 動画再生(コンポーネント上における再生に限る)の開始により、 通信が中断された場合に発生します。
ConnectionException - ネイティブの OBEX レイヤでタイムアウトが発生した場合に発生します(TIMEOUT)。
ConnectionException - ユーザ操作により通信を中断された場合や、 ユーザ操作により通信を中断された直後に呼び出された場合 に発生します(USER_ABORT)。
java.io.IOException - I/O エラーが発生した場合に発生します。
ConnectionException - レスポンスコードが 0x20 番台 (generally ok 系のステータスコード) 以外のコードだった場合に発生します(OBEX_ERROR)。

getResponseCode

public int getResponseCode()

レスポンスコードを取得します。 直前に実行した sendRequest メソッドにおいて受信した レスポンスのレスポンスコードを返します。

1つのデータを複数のパケットに分割して受信した場合、 一番最後に受信したパケットのレスポンスコードを返します。

ミニマムスペックでは、 以下のレスポンスコードについて取得できることが保証されています。

  1. ObexConnection.CONTINUE
  2. ObexConnection.SUCCESS
  3. ObexConnection.NON_AUTHORITATIVE_INFORMATION
  4. ObexConnection.UNAUTHORIZED
  5. ObexConnection.FORBIDDEN
  6. ObexConnection.NOT_FOUND
  7. ObexConnection.REQUEST_TIME_OUT
  8. ObexConnection.CONFLICT
  9. ObexConnection.NOT_IMPLEMENTED
  10. ObexConnection.BAD_REQUEST
  11. ObexConnection.DATABASE_FULL
  12. ObexConnection.DATABASE_LOCKED

定義:
インタフェース ClientObexConnection 内の getResponseCode
戻り値:
レスポンスコードを返します。
例外:
RuntimeException - 呼び出してはならない状態の時に呼び出された場合に発生します。

close

public void close()

この接続をクローズします。 OBEX サーバへ DISCONNECT 要求を送信します。

このメソッド呼び出しにより OBEX 通信は終了しますが、 アドホック通信のリンクは確立したままの状態です。 アドホック通信のリンクを切断するには、このメソッド呼び出しの後に AdhocDataTransfer.terminateAdhoc() を呼び出して下さい。
既に OBEX 通信が終了した状態や、 アドホック通信のリンクが切れている状態で呼び出した場合には何もしません。

このメソッドでは、いかなる場合でも例外は発生しません。

定義:
インタフェース javax.microedition.io.Connection 内の close

connect

public void connect(int mode)
このインタフェースを実装したインスタンスに対して呼び出すことはできません。 このメソッドを呼び出すと、常に例外 UnsupportedOperationException が発生します。

定義:
インタフェース ClientObexConnection 内の connect
パラメータ:
mode - 指定に意味を持ちません。
例外:
UnsupportedOperationException - このメソッドが呼ばれた場合に発生します。
導入されたバージョン:
DoJa-5.1 (905i)

getCommMode

public int getCommMode()
このインタフェースを実装したインスタンスに対して呼び出すことはできません。 このメソッドを呼び出すと、常に例外 UnsupportedOperationException が発生します。

定義:
インタフェース ObexConnection 内の getCommMode
戻り値:
常に例外が発生するため、戻り値が返ることはありません。
例外:
UnsupportedOperationException - このメソッドが呼ばれた場合に発生します。
導入されたバージョン:
DoJa-5.1 (905i)