com.nttdocomo.device.felica
クラス FreeArea

Object
  拡張com.nttdocomo.device.felica.FreeArea

public final class FreeArea
extends Object
 [iアプリオプションAPI]

FeliCaのフリーエリアにアクセスする手段を提供するクラスです。 フリーエリアアクセスはオフライン処理の一種です。

なお、オンライン処理中や 外部 R/W からのアクセス待ち状態下においては、オフライン処理を行うことはできません。 すなわち、OnlineFelica.start(String) を呼び出してから OnlineFelica.stop() を呼び出すまでの間や、 Felica.activate() を呼び出してから、 Felica.inactivate()Felica.close() を呼び出すまでの間には、 このクラスに用意されているメソッドを呼び出すことはできません。

導入されたバージョン:
DoJa-3.0 (506iC)、DoJa-3.5 (900iC)
関連項目:
Felica.getFreeArea()

メソッドの概要
 byte[] read()
           フリー領域を使用するアプリケーションに括り付けられた フリーエリアのデータを読み込みます。
 byte[] read(int[] index)
           フリー領域を使用するアプリケーションに括り付けられたフリーエリアの データをブロックインデックスを指定して読み込みます。
 void write(byte[] data)
           フリー領域を使用するアプリケーションに括り付けられたフリーエリアに データを書き込みます。
 void write(int[] index, byte[] data)
           フリー領域を使用するアプリケーションに括り付けられたフリーエリアに ブロックインデックスを指定してデータを書き込みます。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

read

public byte[] read()
            throws FelicaException,
                   java.io.IOException

フリー領域を使用するアプリケーションに括り付けられた フリーエリアのデータを読み込みます。 返されるデータの長さは64バイトとなります。

戻り値:
フリーエリアデータ。
例外:
DeviceException - FeliCaがオープンされていない場合に発生します(ILLEGAL_STATE)。
DeviceException - オンライン処理が既に開始されている場合や、 外部 R/W からのアクセス待ち状態下の場合に発生します(ILLEGAL_STATE)。
FelicaException - Free Areaの読み出しに失敗した場合に発生します (ID_READ_ERROR, TYPE_FREEAREA_READ_ERROR)。
java.io.InterruptedIOException - FeliCaカードアクセス中に、 サスペンド状態への遷移によりカードアクセス処理が失敗した場合に発生します。
java.io.IOException - 入出力エラーが発生した場合に発生します。

read

public byte[] read(int[] index)
            throws FelicaException,
                   java.io.IOException

フリー領域を使用するアプリケーションに括り付けられたフリーエリアの データをブロックインデックスを指定して読み込みます。 ブロックインデックスは0から3までの整数値で、4つまで指定できます。 返されるデータの長さは最大64バイトとなります。

パラメータ:
index - ブロックインデックスの配列。
戻り値:
フリーエリアデータ。
例外:
DeviceException - FeliCaがオープンされていない場合に発生します(ILLEGAL_STATE)。
DeviceException - オンライン処理が既に開始されている場合や、 外部 R/W からのアクセス待ち状態下の場合に発生します(ILLEGAL_STATE)。
NullPointerException - 引数 index に null が指定された場合に発生します。
IllegalArgumentException - 引数 index に長さが 0、または 4 より大きいブロックインデックスの配列が指定された場合に発生します。
IndexOutOfBoundsException - 引数 index に 0〜3 以外の要素を含むブロックインデックスの配列が指定された場合に発生します。
FelicaException - Free Areaの読み出しに失敗した場合に発生します (ID_READ_ERROR, TYPE_FREEAREA_READ_ERROR)。
java.io.InterruptedIOException - FeliCaカードアクセス中に、 サスペンド状態への遷移によりカードアクセス処理が失敗した場合に発生します。
java.io.IOException - 入出力エラーが発生した場合に発生します。

write

public void write(byte[] data)
           throws FelicaException,
                  java.io.IOException

フリー領域を使用するアプリケーションに括り付けられたフリーエリアに データを書き込みます。データ長が64バイトに満たない場合はゼロで パディングされます。64バイトを越える場合は切り捨てられます。

パラメータ:
data - フリーエリアデータ。
例外:
DeviceException - FeliCaがオープンされていない場合に発生します(ILLEGAL_STATE)。
DeviceException - オンライン処理が既に開始されている場合や、 外部 R/W からのアクセス待ち状態下の場合に発生します(ILLEGAL_STATE)。
NullPointerException - 引数 data に null が指定された場合に発生します。
FelicaException - Free Areaの書き込みに失敗した場合に発生します (ID_WRITE_ERROR, TYPE_FREEAREA_WRITE_ERROR)。
java.io.InterruptedIOException - FeliCaカードアクセス中に、 サスペンド状態への遷移によりカードアクセス処理が失敗した場合に発生します。
java.io.IOException - 入出力エラーが発生した場合に発生します。

write

public void write(int[] index,
                  byte[] data)
           throws FelicaException,
                  java.io.IOException

フリー領域を使用するアプリケーションに括り付けられたフリーエリアに ブロックインデックスを指定してデータを書き込みます。 ブロックインデックスは0から3までの整数値で、4つまで指定できます。 指定されたフリーエリアデータの長さが (インデックスの配列の長さ × 16バイト) よりも短い場合、足りない部分はゼロパディングされます。 また、 (インデックスの配列の長さ × 16バイト) バイトを越える部分は無視されます。

パラメータ:
index - ブロックインデックスの配列。
data - フリーエリアデータ。
例外:
DeviceException - FeliCaがオープンされていない場合に発生します(ILLEGAL_STATE)。
DeviceException - オンライン処理が既に開始されている場合や、 外部 R/W からのアクセス待ち状態下の場合に発生します(ILLEGAL_STATE)。
NullPointerException - 引数 index または data に null が指定された場合に発生します。
IllegalArgumentException - 引数 index に長さが 0 、または 4 より大きいブロックインデックスの配列が指定された場合に発生します。
IndexOutOfBoundsException - 引数 index に 0〜3 以外の要素を含むブロックインデックスの配列が指定された場合に発生します。
FelicaException - Free Areaの書き込みに失敗した場合に発生します (ID_WRITE_ERROR, TYPE_FREEAREA_WRITE_ERROR)。
java.io.InterruptedIOException - FeliCaカードアクセス中に、 サスペンド状態への遷移によりカードアクセス処理が失敗した場合に発生します。
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ドコモの商標または登録商標です。

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