com.docomostar.io
インタフェース ServerObexConnection

すべてのスーパーインタフェース:
javax.microedition.io.Connection, javax.microedition.io.InputConnection, ObexConnection, javax.microedition.io.OutputConnection, javax.microedition.io.StreamConnection
既知の実装クラスの一覧:
FelicaServerObexConnection, IrServerObexConnection

public interface ServerObexConnection
extends ObexConnection

OBEX サーバとして通信を行う場合の接続を定義します。 オペレーションとして PUT と GET と DISCONNECT をサポートしています。 一回の接続で複数回 receiveRequest メソッドを呼び出すことが可能で、 連続して複数のリクエストを受信することができます。

PUT オペレーションのリクエストの BODY ヘッダの内容は InputStream または DataInputStream から読み出すことができます。 GET オペレーションのリクエストの場合、 InputStream または DataInputStream は常に空のストリームとなります。 ObexConnection インタフェースで定義されている getContentLength メソッドは リクエストの BODY ヘッダ内のコンテンツの長さを返します。
また、OutputStream または DataOutputStream に出力したデータが GET オペレーションに対するレスポンスの BODY ヘッダの内容としてクライアントに送信されます。 PUT オペレーションに対するレスポンスの場合、OutputStream または DataOutputStream に出力したデータは無視されます。
DISCONNECT オペレーションのリクエストを受信したら接続を閉じなければなりません。

導入されたバージョン:
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 accept()
          接続要求を待ちます。
 int getOperation()
          リクエストのオペレーションを取得します。
 void receiveRequest()
          リクエストの受信を完了するのを待ちます。
 void sendResponse(int code)
           レスポンスを送信します。
 
インタフェース com.docomostar.io.ObexConnection から継承されたメソッド
getContentLength, getName, getTime, getType, setName, setTime, setType
 
インタフェース javax.microedition.io.InputConnection から継承されたメソッド
openDataInputStream, openInputStream
 
インタフェース javax.microedition.io.OutputConnection から継承されたメソッド
openDataOutputStream, openOutputStream
 
インタフェース javax.microedition.io.Connection から継承されたメソッド
close
 

メソッドの詳細

accept

void accept()
            throws java.io.IOException
接続要求を待ちます。 このメソッドを呼び出すと、接続要求が来るまでブロックします。 接続が確立されたらこのメソッドから戻ります。

例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。
ConnectionException -
(BUSY_RESOURCE)
既に接続要求発行中の別スレッドが存在するか、別オブジェクトにより既に通信リソースが使用されている場合に発生します。
java.io.InterruptedIOException -
別スレッドからの中断要求発生により、通信が中断された場合に発生します。
ConnectionException -
(TIMEOUT)
ネイティブの OBEX レイヤでタイムアウトが発生した場合に発生します。
ConnectionException -
(USER_ABORT)
ユーザ操作により通信が中断された場合に発生します。
java.io.IOException -
対向機器からDisconnect要求が通知された場合に発生します。
java.io.IOException -
I/O エラーが発生した場合に発生します。

receiveRequest

void receiveRequest()
                    throws java.io.IOException
リクエストの受信を完了するのを待ちます。 このメソッドを呼び出すと、リクエストが到着するまでブロックして、 リクエストを全て受信し終わったらこのメソッドから戻ります。 このメソッドから正常に戻った場合は、 クライアントに対してレスポンスを送信するために、必ず sendResponse メソッドを呼ばなければなりません。

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

例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。
java.io.InterruptedIOException -
別スレッドからの中断要求発生により、通信が中断された場合に発生します。
ConnectionException -
(TIMEOUT)
ネイティブの OBEX レイヤでタイムアウトが発生した場合に発生します。
ConnectionException -
(USER_ABORT)
ユーザ操作により通信を中断された場合や、ユーザ操作により通信を中断された直後に呼び出された場合 に発生します。
java.io.IOException -
I/O エラーが発生した場合に発生します。

getOperation

int getOperation()
リクエストのオペレーションを取得します。 直前に実行した receiveRequest メソッドにおいて受信した リクエストのオペレーションコードを返します。

戻り値:
リクエストのオペレーションを返します。
例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。

sendResponse

void sendResponse(int code)
                  throws java.io.IOException

レスポンスを送信します。

ミニマムスペックでは、以下のレスポンスコードがサポートされています。

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

パラメータ:
code - レスポンスコードを指定します。
例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。
ConnectionException -
(ILLEGAL_STATE)
receiveRequest メソッドを呼び出す前に呼び出された場合に発生します。
IllegalArgumentException -
引数 code にサポートしていないレスポンスコードが指定された場合に発生します。
java.io.InterruptedIOException -
別スレッドからの中断要求発生により、 通信が中断された場合に発生します。
ConnectionException -
(TIMEOUT)
ネイティブの OBEX レイヤでタイムアウトが発生した場合に発生します。
ConnectionException -
(USER_ABORT)
ユーザ操作により通信を中断された場合や、ユーザ操作により通信を中断された直後に呼び出された場合 に発生します。
java.io.IOException -
対向機器からDisconnect要求が通知された場合に発生します。
java.io.IOException -
I/O エラーが発生した場合に発生します。


NTT DOCOMO,INC.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。