personal.sakaki.io
クラス ObexClientConnection

java.lang.Object
  上位を拡張 personal.sakaki.io.ObexConnection
      上位を拡張 personal.sakaki.io.ObexClientConnection

public final class ObexClientConnection
extends ObexConnection

OBEXクライアントの通信処理を行うクラスです。 このクラスは1回の接続で任意のオペレーションを繰り返し実行することが出来ます。 それぞれのオペレーションは必要な情報を設定してから実行し、その結果を受け取る流れで処理を行います。

作成者:
さかきけい
関連項目:
ObexServerConnection, ObexManager

フィールドの概要
 
クラス personal.sakaki.io.ObexConnection から継承されたフィールド
ABORT, ACCEPTED, ASCII, BAD_GATEWAY, BAD_REQUEST, CONFLICT, CONNECT, CONTINUE, CREATED, DATABASE_FULL, DATABASE_LOCKED, DISCONNECT, FORBIDDEN, GATEWAY_TIMEOUT, GET, GONE, HTTP_VERSION_NOT_SUPPORTED, INTERNAL_SERVER_ERROR, ISO_8859_1, ISO_8859_2, ISO_8859_3, ISO_8859_4, ISO_8859_5, ISO_8859_6, ISO_8859_7, ISO_8859_8, ISO_8859_9, LENGTH_REQUIRED, METHOD_NOT_ALLOWED, MOVED_PERMANENTLY, MOVED_TEMPORARY, MULTIPLE_CHOICES, NO_CONTENT, NON_AUTHORITATIVE_INFO, NOT_ACCEPTABLE, NOT_FOUND, NOT_IMPLEMENTED, NOT_MODIFIED, PARTICAL_CONTENT, PAYMENT_REQUIRED, PRECONDITION_FAILED, PROXY_AUTHENTICATION_REQUIRED, PUT, REQUEST_TIME_OUT, REQUEST_URL_TOO_LARGE, REQUESTED_ENTITY_TOO_LARGE, RESET_CONTENT, SEE_OTHER, SERVICE_UNAVAILABLE, SETPATH, SUCCESS, UNAUTHORIZED, UNICODE, UNSUPPORTED_MEDIA_TYPE, USE_PROXY
 
メソッドの概要
 void connect()
          サーバーに対して接続要求を出し、接続を確立してから必要なネゴシエーションを行います。
 java.lang.String getRealm()
          受信したRealmを返します。
 int getRealmCodeset()
          受信したRealmのコードセットを返します。
 int getResponseCode()
          リクエストを送信した結果、サーバーから受け取ったレスポンスコードを返します。
 boolean isReadOnly()
          サーバーが前回のリクエストに対して読み出し専用であるか否かを示します。
 boolean isRequestUserId()
          サーバーが認証に際してユーザーIDを必要とするか否かを示します。
 void sendRequest()
          サーバーへリクエストを送信します。
 void sendRequest(java.io.InputStream is, java.io.OutputStream os)
          サーバーへリクエストを送信します。
 void setOperation(int operation)
          次に送信するオペレーションコードを設定します。
 void setSetPath_BackupLevel(boolean f)
          SETPATHオペレーションにおいて、実行前上位フォルダへ移動(bit0)フラグを設定するか否かを設定します。
 void setSetPath_NoFolderCreate(boolean f)
          SETPATHオペレーションにおいて、非フォルダ作成&エラーレポート(bit1)フラグを設定するか否かを設定します。
 
クラス personal.sakaki.io.ObexConnection から継承されたメソッド
addHttpHeader, close, finalize, getBody, getContentLength, getCount, getDescription, getHttpHeader, getHttpHeaderNames, getName, getReceiveMTU, getSendMTU, getTime, getType, openDataInputStream, openDataOutputStream, openInputStream, openOutputStream, removeHttpHeader, setAuthenticator, setBody, setCount, setDescription, setName, setPassword, setPrivateKey, setTime, setTimeFormat, setType, setUserId
 
クラス java.lang.Object から継承されたメソッド
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

connect

public void connect()
             throws ObexException

サーバーに対して接続要求を出し、接続を確立してから必要なネゴシエーションを行います。 サーバーが認証を要求し、なおかつこのメソッドの呼び出し時に認証に必要な設定が行われている場合は認証を行います。

例外:
ObexException - 必要に応じてそれぞれのステータスを持ったオブジェクトをthrowします。
java.lang.IllegalStateException - 既にこのメソッドを呼び出し済みあるいはクローズ済みのオブジェクトに対してこのメソッドを呼び出すとthrowされます。

setOperation

public void setOperation(int operation)

次に送信するオペレーションコードを設定します。

パラメータ:
operation - 次に実行するオペレーションコードを渡します。
例外:
java.lang.IllegalStateException - connect()メソッドを呼び出す前あるいはクローズ済みのオブジェクトに対してこのメソッドを呼び出すとthrowされます。
関連項目:
ObexConnection.CONNECT, ObexConnection.DISCONNECT, ObexConnection.PUT, ObexConnection.GET, ObexConnection.SETPATH, ObexConnection.ABORT

sendRequest

public void sendRequest(java.io.InputStream is,
                        java.io.OutputStream os)
                 throws java.io.IOException

サーバーへリクエストを送信します。

このメソッドはsendRequest()メソッドと同様にサーバーへヘッダを含むデータを送るために使用しますが、BODYおよびEND-OF-BODYヘッダの送受信内容の受け渡しを入力ストリームと出力ストリームを用いて行う点が異なります。 こちらのメソッドは大量あるいは容量が不明なデータの送受信を行うのに適しています。

送信するリクエストにはsetOperation(int)メソッドで設定したオペレーションコードを使用します。 オペレーションコードを設定する前にこのメソッドを呼び出した場合、IllegalStateException例外クラスをthrowします。

サーバーが認証を要求し、なおかつこのメソッドの呼び出し前に認証に関する設定が行われていた場合は認証処理を行います。 認証に関する設定が行われていない場合はObexException例外クラスをSERVER_ERRORステータスでthrowします。

その他送受信に伴い、必要に応じてObexException例外クラスに必要なステータスを設定してthrowします。

パラメータ:
is - BODYおよびEND-OF-BODYヘッダによってサーバーに送信するデータへ接続した入力ストリームオブジェクトを渡します。
os - BODYおよびEND-OF-BODYヘッダによってサーバーから受信するデータを受け取る先に接続した出力ストリームオブジェクトを渡します。
例外:
java.lang.IllegalStateException - connect()メソッドを呼び出す前あるいはオペレーションコードを設定する前およびクローズ済みのオブジェクトに対してこのメソッドを呼び出すとthrowされます。
java.lang.IllegalArgumentException - PUTオペレーション以外でisに入力ストリームを渡した場合にthrowされます。
ObexException - 送受信中に何らかの問題が発生した際に必要に応じたステータスが設定されてthrowされます。
java.io.IOException

sendRequest

public void sendRequest()
                 throws ObexException

サーバーへリクエストを送信します。

このメソッドはsendRequest(InputStream, OutputStream)メソッドと同様にサーバーへヘッダを含むデータを送るために使用しますが、BODYおよびEND-OF-BODYヘッダの送受信内容の受け渡しをObexConnectionクラスの以下のメソッドを用いて行う点が異なります。

こちらのメソッドは少量あるいは容量が明確なデータの送受信を行うのに適しています。

送信するリクエストにはsetOperation(int)メソッドで設定したオペレーションコードを使用します。 オペレーションコードを設定する前にこのメソッドを呼び出した場合、IllegalStateException例外クラスをthrowします。

その他送受信に伴い、必要に応じてObexException例外クラスに必要なステータスを設定してthrowします。

例外:
java.lang.IllegalStateException - connect()メソッドを呼び出す前あるいはオペレーションコードを設定する前およびクローズ済みのオブジェクトに対してこのメソッドを呼び出すとthrowされます。
java.lang.IllegalArgumentException - PUTオペレーション以外でBODYおよびEND-OF-BODYヘッダで送信するデータが設定している場合にthrowされます。
ObexException - 送受信中に何らかの問題が発生した際に必要に応じたステータスが設定されてthrowされます。

getResponseCode

public int getResponseCode()

リクエストを送信した結果、サーバーから受け取ったレスポンスコードを返します。

戻り値:
レスポンスコードが返されます。
例外:
java.lang.IllegalStateException - リクエストが完了する前にこのメソッドを呼び出すとthrowされます。

getRealm

public java.lang.String getRealm()

受信したRealmを返します。 Realmを受信していなければnullを返します。

戻り値:
受信したRealmあるいはnullを返します。
例外:
java.lang.IllegalStateException - データを受信する前にこのメソッドを呼び出した場合にthrowされます。

getRealmCodeset

public int getRealmCodeset()

受信したRealmのコードセットを返します。 Realmを受信していない場合の値はObexConnection.ASCIIが返されます。

戻り値:
受信したRealmのコードセットを返します。
関連項目:
ObexConnection.ASCII, ObexConnection.ISO_8859_1, ObexConnection.ISO_8859_2, ObexConnection.ISO_8859_3, ObexConnection.ISO_8859_4, ObexConnection.ISO_8859_5, ObexConnection.ISO_8859_6, ObexConnection.ISO_8859_7, ObexConnection.ISO_8859_8, ObexConnection.ISO_8859_9, ObexConnection.UNICODE

isReadOnly

public boolean isReadOnly()

サーバーが前回のリクエストに対して読み出し専用であるか否かを示します。 読み出し専用である場合はtrueを、読み出し専用が明示されない場合はfalseを返します。

戻り値:
読み出し専用の場合はtrueを、そうでなければfalseを返します。
例外:
java.lang.IllegalStateException - データを受信する前にこのメソッドを呼び出した場合にthrowされます。

isRequestUserId

public boolean isRequestUserId()

サーバーが認証に際してユーザーIDを必要とするか否かを示します。 ユーザーIDを要求している場合はtrueを、認証が行われなかったか認証時にユーザーIDを要求しなかった場合にはfalseを返します。

戻り値:
ユーザーIDを要求している場合はtrueを、そうでなければfalseを返します。
例外:
java.lang.IllegalStateException - データを受信する前にこのメソッドを呼び出した場合にthrowされます。

setSetPath_BackupLevel

public void setSetPath_BackupLevel(boolean f)

SETPATHオペレーションにおいて、実行前上位フォルダへ移動(bit0)フラグを設定するか否かを設定します。 このメソッドは暫定的に作成したもので、今後名称を変更したり廃止したりする可能性があります。

パラメータ:
f - 設定するならtrueを、そうでなければfalseを渡します。
例外:
java.lang.IllegalStateException - 既にクローズしているか接続していなければthrowします。

setSetPath_NoFolderCreate

public void setSetPath_NoFolderCreate(boolean f)

SETPATHオペレーションにおいて、非フォルダ作成&エラーレポート(bit1)フラグを設定するか否かを設定します。 このメソッドは暫定的に作成したもので、今後名称を変更したり廃止したりする可能性があります。

パラメータ:
f - 設定するならtrueを、そうでなければfalseを渡します。
例外:
java.lang.IllegalStateException - 既にクローズしているか接続していなければthrowします。


本ライブラリは"さかきけい"が作成した無保証の評価目的専用のOBEXライブラリです。他の用途への転用は一切行えません。
記載された内容および本ライブラリには既知か否かに関らず誤りが含まれる可能性があり、一切保証はありません。本APIリファレンスおよび本ライブラリを使用した結果、不利益が生じたとしても"さかきけい"は一切の責任を負いません。
許可無く公開/非公開およびInternet/Intranet/LANを問わず他サイトに転載すること、複写および複製することを禁じます。

Copyright© 2002-2008 by KEI SAKAKI.
ALL RIGHTS RESERVED.
無断転載を禁じます。