|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.nttdocomo.device.felica.OfflineFelica
オフライン処理(有線カード機能)によって、 内部カードにアクセスする手段を提供するクラスです。 ただし、フリーエリアへのアクセスは除きます。
このクラスのインスタンスの各メソッドは、
Felica.getOfflineFelica(int, int)
の引数で指定されたアクセス先に対して、それぞれの操作を行います。
インスタンス生成後に、アクセス先を変更する手段は用意されていません。
複数のアクセス先に交互にアクセスする必要がある場合には、
アクセス先ごとに、Felica.getOfflineFelica(int, int)
にて、
対応するインスタンスを取得してください。
ただし、同じカードの
異なるシステムにアクセスを行った時点で、
そのカード内のPINの解除情報がクリアされます。
このオブジェクトが生成された直後では、タイムアウト値としては
500[ms]
が、
リトライ数としては 0 が、
それぞれ設定されています。
タイムアウト値は setTimeout(int)
にて変更可能ですが、リトライ数を変更することはできません。
[DoJa-4.1 (902iS) まで]
なお、オンライン処理中や 外部 R/W からのアクセス待ち状態下においては、オフライン処理を行うことはできません。
すなわち、OnlineFelica.start(String)
を呼び出してから
OnlineFelica.stop()
を呼び出すまでの間や、
Felica.activate()
を呼び出してから
Felica.inactivate()
、
Felica.close()
を呼び出すまでの間には、
このクラスに用意されているメソッドを呼び出すことはできません。
[DoJa-5.0 (903i) 以降]
なお、オンライン処理中においては、オフライン処理を行うことはできません。
すなわち、OnlineFelica.start(String)
を呼び出してから
OnlineFelica.stop()
を呼び出すまでの間に、
このクラスに用意されているメソッドを呼び出すことはできません。
セキュリティ上の制約について
iアプリが起動してから終了するまでの間に、下記の条件を満たした場合には、
その時点でアプリケーションは強制終了されます。
[DoJa-4.1 (902iS) まで]
尚、下記に記されている失敗回数は、
このクラスの全インスタンスによる失敗回数の合計です。
executePIN(PINParameters)
において、
PIN指定誤りにより、
PINの照合、変更、有効/無効化に4回失敗した場合
パケット種別について ([DoJa-5.0 (903i) 以降])
FeliCa カードで管理されるノードコードが従来の 2 バイト長から 4 バイト長に拡張されました。
これに伴い FeliCa カードに発行するコマンドパケット(ノードコードを含むコマンドに限る)について、
従来構成の「2 バイトノードコード指定パケット」に加えて、
拡張構成の「4 バイトノードコード指定パケット」にて発行することが可能です。
ノードコードを含むコマンドパケットを発行するメソッドは以下の通りです。
checkPIN(CheckPINParameters)
executePIN(PINParameters)
read(ReadParameters)
read(InputPINParameters, ReadParameters)
write(WriteParameters)
write(InputPINParameters, WriteParameters)
getKeyVersion(int)
getNodeCodeLength()
が返す値) に従ってコマンドパケットを発行します。
このオブジェクトが生成された直後では、
パケット種別には「2 バイトノードコード指定パケット」が設定されています。
このオブジェクトに設定されているパケット種別を変更するには setNodeCodeLength(int)
を呼び出して下さい。
また、FeliCa カードに発行するコマンドパケットの種別と、
そのカードに設定されている属性(パケット種別)は一致している必要があることに注意して下さい。
FeliCa カードに対して属性設定を行なうには setParameter(long)
を呼び出して下さい。
なお、FeliCa カードが起動された直後では、カードに設定されている属性(パケット種別)は
「2 バイトノードコード指定パケット」となっています。
Felica.getOfflineFelica(int, int)
フィールドの概要 | |
static int |
CARD_EXTERNAL
外部カードを表します(=1)。 |
static int |
CARD_INTERNAL
内部カードを表します(=0)。 |
static long |
PARAM_NODE_CODE_LEN_2
2 バイトノードコード指定パケットを表します(=0x0000000000000000)。 |
static long |
PARAM_NODE_CODE_LEN_4
4 バイトノードコード指定パケットを表します(=0x0000000000010000)。 |
メソッドの概要 | |
PINAttributeData[] |
checkPIN(CheckPINParameters param)
PIN の属性参照を行います。 |
void |
executePIN(PINParameters param)
PINを変更、有効/無効化、或いは照合を行います。 |
int |
getCard()
このオブジェクトの処理対象カードを取得します。 |
byte[] |
getCardVersion()
このオブジェクトがアクセス先として保持しているカードのバージョンを返します。 |
byte[] |
getContainerIssueInfo()
コンテナ発行情報を取得します。 |
byte[] |
getIDm()
このオブジェクトがアクセス先として保持しているIDmを返します。 |
byte[] |
getKeyVersion(int serviceCode)
キーバージョンを取得します。 |
int |
getNodeCodeLength()
このオブジェクトのカード処理におけるパケット種別を取得します。 |
byte[] |
getResponseTimeInfo()
このオブジェクトがアクセス先として保持しているカードの、 コマンド処理時間に関するデータを返します。 |
int |
getSystemCode()
このオブジェクトがアクセス先として保持している システムコードを取得します。 |
int |
getTimeout()
このオブジェクトのカード処理におけるタイムアウト値を取得します。 |
FelicaData[] |
read(InputPINParameters pinParam,
ReadParameters readParam)
PIN照合、ブロック読み込み、リセットを連続して行います。 |
FelicaData[] |
read(ReadParameters param)
ブロックを読み込みます。 |
void |
setNodeCodeLength(int nodeCodeLen)
このオブジェクトのカード処理におけるパケット種別を設定します。 |
void |
setParameter(long param)
コマンドパケットで使用する属性を(処理対象カードに)設定します。 |
void |
setTimeout(int timeout)
このオブジェクトの カード処理におけるタイムアウト値を設定します。 |
void |
write(InputPINParameters pinParam,
WriteParameters writeParam)
PIN照合、ブロック書き込み、リセットを連続して行います。 |
void |
write(WriteParameters param)
ブロックを書き込みます。 |
クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final int CARD_INTERNAL
Felica.getOfflineFelica(int, int)
,
getCard()
,
定数フィールド値public static final int CARD_EXTERNAL
Felica.getOfflineFelica(int, int)
,
getCard()
,
定数フィールド値public static final long PARAM_NODE_CODE_LEN_2
setParameter(long)
,
定数フィールド値public static final long PARAM_NODE_CODE_LEN_4
setParameter(long)
,
定数フィールド値メソッドの詳細 |
public PINAttributeData[] checkPIN(CheckPINParameters param) throws FelicaException, java.io.IOException
このメソッドによる PIN 属性参照処理は同時性が確保されます。 従って、CheckPINParameters に登録されているパラメータのうち1つでも PIN 属性参照に失敗した場合は、 全てのパラメータの PIN 属性参照は行われません。
CheckPINParameters に登録されているパラメータ数が 対象カードの同時読み込み上限数を超えていた場合、 全てのパラメータの PIN 属性参照は行われません。
このオブジェクトに設定されているパケット種別
(getNodeCodeLength()
が返す値) に従ってコマンドパケットを発行します。
ただし、このオブジェクトに設定されているパケット種別が
「2 バイトノードコード指定パケット」であるにも関わらず、
CheckPINParameters に登録されているパラメータに
2 バイト長では表せないサービスコードが含まれていた場合は例外が発生します。
param
- PIN属性参照パラメータを指定します。
DeviceException
- FeliCaがオープンされていない場合に発生します(ILLEGAL_STATE)。
DeviceException
- オンライン処理が既に開始されている場合に発生します(ILLEGAL_STATE)。
="checkPIN(com.nttdocomo.device.felica.CheckPINParameters)">public