com.docomostar.io
クラス FelicaServerObexConnection

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

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

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

本クラスのインスタンスは Connector.open("obex:/felicaserver") メソッドの戻り値として取得することができます。 詳細なコード例については StarEventObject.STAR_FELICA_ADHOC_REQUEST_RECEIVED の説明を参照して下さい。

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

導入されたバージョン:
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()
          接続要求を待ちます。
 void close()
           この接続をクローズします。
 int getContentLength()
          コンテンツの長さを取得します。
 String getName()
          NAME ヘッダを取得します。
 int getOperation()
          リクエストのオペレーションを取得します。
 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 receiveRequest()
          リクエストの受信を完了するのを待ちます。
 void sendResponse(int code)
           レスポンスを送信します。
 void setName(String name)
          NAME ヘッダを設定します。
 void setTime(long time)
          TIME ヘッダを設定します。
 void setType(String type)
          TYPE ヘッダを設定します。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

accept

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

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

receiveRequest

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

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

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

getOperation

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

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

sendResponse

public 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

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

close

public void close()
           throws java.io.IOException

この接続をクローズします。

既にリンクが切れている状態で呼び出した場合には何もしません。
リンクが確立している状態で OBEX クライアントから DISCONNECT 要求を受信する前に呼び出した場合には、 強制的にリンクを切断します。
リンクが確立している状態で OBEX クライアントから DISCONNECT 要求を受信した後に呼び出した場合は、何もしません。 この場合にリンクを切断するには、 OBEX クライアント側からすみやかにリンクを切断してください。

定義:
インタフェース javax.microedition.io.Connection 内の close
例外:
PortBusyException -
ポートビジーエラーが発生した場合に発生します。
java.io.IOException -
I/O エラーが発生した場合に発生します。

getContentLength

public int getContentLength()
インタフェース ObexConnection の記述:
コンテンツの長さを取得します。 リクエストやレスポンスの BODY ヘッダ内のコンテンツの実際の長さを取得します。
コンテンツの長さが取得可能になる前に呼び出された場合は RuntimeException またはそのサブクラスの例外が発生します。

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

getName

public String getName()
インタフェース ObexConnection の記述:
NAME ヘッダを取得します。
ヘッダが取得可能になる前に呼び出された場合は RuntimeException またはそのサブクラスの例外が発生します。

定義:
インタフェース ObexConnection 内の getName
戻り値:
NAME ヘッダの文字列を返します。 ヘッダが無い場合は、 null を返します。
例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。

getTime

public long getTime()
インタフェース ObexConnection の記述:
TIME ヘッダを取得します。 数値は1970年1月1日(GMT)から数えたミリ秒数です。 リクエストまたはレスポンスが複数パケットから構成され、 複数の TIME ヘッダがある場合は、最初に見つかった TIME ヘッダの値を返します。
ヘッダが取得可能になる前に呼び出された場合は RuntimeException またはそのサブクラスの例外が発生します。

定義:
インタフェース ObexConnection 内の getTime
戻り値:
日付を表す整数値を返します。 ヘッダが無い場合は、値0を返します。
例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。

getType

public String getType()
インタフェース ObexConnection の記述:
TYPE ヘッダを取得します。
ヘッダが取得可能になる前に呼び出された場合は RuntimeException またはそのサブクラスの例外が発生します。

定義:
インタフェース ObexConnection 内の getType
戻り値:
TYPE ヘッダの文字列を返します。ヘッダが無い場合は、 null を返します。
例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。

setName

public void setName(String name)
インタフェース ObexConnection の記述:
NAME ヘッダを設定します。複数回呼出された場合は、最後に設定された値のみ有効となります。

定義:
インタフェース ObexConnection 内の setName
パラメータ:
name - NAME ヘッダに設定する文字列を指定します。
例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。
IllegalArgumentException -
引数 name が 規定文字数(63文字)を超えた場合に発生します。

setTime

public void setTime(long time)
インタフェース ObexConnection の記述:
TIME ヘッダを設定します。複数回呼出された場合は、最後に設定された値のみ有効となります。 数値は1970年1月1日(GMT)から数えたミリ秒数です。

定義:
インタフェース ObexConnection 内の setTime
パラメータ:
time - 日付を表す整数値を指定します。
例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。

setType

public void setType(String type)
インタフェース ObexConnection の記述:
TYPE ヘッダを設定します。複数回呼出された場合は、最後に設定された値のみ有効となります。

定義:
インタフェース ObexConnection 内の setType
パラメータ:
type - TYPE ヘッダに設定する文字列を指定します。
例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。
IllegalArgumentException -
引数 type が 規定文字数(63文字)を超えた場合に発生します。

openDataInputStream

public java.io.DataInputStream openDataInputStream()
                                            throws java.io.IOException
CLDC の仕様に従って DataInputStream オブジェクトを返す処理を実装します。

定義:
インタフェース javax.microedition.io.InputConnection 内の openDataInputStream
例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。
ConnectionException -
(ILLEGAL_STATE)
WRITEモードの接続に対して呼び出された場合に発生します。
ConnectionException -
(USER_ABORT)
ユーザ操作により通信を中断されたことを検知した場合 に発生します。
java.io.IOException -
現在の実装では発生することは有りません。

openInputStream

public java.io.InputStream openInputStream()
                                    throws java.io.IOException
CLDC の仕様に従って InputStream オブジェクトを返す処理を実装します。

定義:
インタフェース javax.microedition.io.InputConnection 内の openInputStream
例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。
ConnectionException -
(ILLEGAL_STATE)
WRITEモードの接続に対して呼び出された場合に発生します。
ConnectionException -
(USER_ABORT)
ユーザ操作により通信を中断されたことを検知した場合 に発生します。
java.io.IOException -
現在の実装では発生することは有りません。

openDataOutputStream

public java.io.DataOutputStream openDataOutputStream()
                                              throws java.io.IOException
CLDC の仕様に従って DataOutputStream オブジェクトを返す処理を実装します。

定義:
インタフェース javax.microedition.io.OutputConnection 内の openDataOutputStream
例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。
ConnectionException -
(ILLEGAL_STATE)
READモードの接続に対して呼び出された場合に発生します。
ConnectionException -
(USER_ABORT)
ユーザ操作により通信を中断されたことを検知した場合 に発生します。
java.io.IOException -
現在の実装では発生することは有りません。

openOutputStream

public java.io.OutputStream openOutputStream()
                                      throws java.io.IOException
CLDC の仕様に従って OutputStream オブジェクトを返す処理を実装します。

定義:
インタフェース javax.microedition.io.OutputConnection 内の openOutputStream
例外:
RuntimeException -
呼び出してはならない状態の時に呼び出された場合に発生します。
ConnectionException -
(ILLEGAL_STATE)
READモードの接続に対して呼び出された場合に発生します。
ConnectionException -
(USER_ABORT)
ユーザ操作により通信を中断されたことを検知した場合 に発生します。
java.io.IOException -
現在の実装では発生することは有りません。


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ドコモの商標または登録商標です。

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