com.docomostar.io
クラス FelicaClientObexConnection

Object
  上位を拡張 com.docomostar.io.FelicaClientObexConnection
すべての実装されたインタフェース:
ClientObexConnection, ObexConnection, javax.microedition.io.Connection, javax.microedition.io.InputConnection, javax.microedition.io.OutputConnection, javax.microedition.io.StreamConnection

public class FelicaClientObexConnection
extends Object
implements ClientObexConnection
 [iアプリオプションAPI]

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

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

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

ClientObexConnection クラスの説明にある IrDA 通信のコード例も参考にしてください。

導入されたバージョン:
Star-1.0

フィールドの概要
 
インタフェース com.docomostar.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()
          接続を確立します。
 int getContentLength()
          コンテンツの長さを取得します。
 String getName()
          NAME ヘッダを取得します。
 int getResponseCode()
           レスポンスコードを取得します。
 long getTime()
          TIME ヘッダを取得します。
 String getType()
          TYPE ヘッダを取得します。
 java.io.DataInputStream openDataInputStream()
          CLDC の仕様に従って DataInputStream オブジェクトを返す処理を実装します。
 java.io.DataOutputStream openDataOutputStream()
          CLDC の仕様に従って DataOutputStream オブジェクトを返す処理を実装します。
 java.io.InputStream openInputStream()
          CLDC の仕様に従って InputStream オブジェクトを返す処理を実装します。
 java.io.OutputStream openOutputStream()
          CLDC の仕様に従って OutputStream オブジェクトを返す処理を実装します。
 void sendRequest()
          リクエストを送信して、レスポンスの受信を完了するまで待ちます。
 void setName(String name)
          NAME ヘッダを設定します。
 void setOperation(int operation)
          オペレーションコードを設定します。
 void setTime(long time)
          TIME ヘッダを設定します。
 void setType(String type)
          TYPE ヘッダを設定します。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

connect

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

定義:
インタフェース ClientObexConnection 内の connect
例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。
ConnectionException -
(BUSY_RESOURCE)
既に接続要求発行中の別スレッドが存在するか、別オブジェクトにより既に通信リソースが使用されている場合に発生します。
java.io.InterruptedIOException -
別スレッドやシステムからのFelicaClientObexConnection.close()Felica.close()AdhocDataTransfer.terminateAdhoc() 呼び出しにより、 通信が中断された場合に発生します。
ConnectionException -
(TIMEOUT)
ネイティブの OBEX レイヤでタイムアウトが発生した場合に発生します。
ConnectionException -
(USER_ABORT)
ユーザ操作により通信を中断された場合や、 ユーザ操作により通信を中断された直後に呼び出された場合 に発生します。
java.io.IOException -
対向機器から Disconnect 要求が通知された場合に発生します。
java.io.IOException -
アドホック通信のリンクが確立していない(できなくなった)場合に発生します。
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 を取り出した時は、 次のオペ