com.nttdocomo.system
クラス TorucaStore

Object
  拡張com.nttdocomo.system.TorucaStore

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

携帯電話のネイティブのトルカデータ管理機能にアクセスする手段を提供します。

トルカ機能では、 トルカデータの登録や取得を行うクラスと トルカデータそのものを表すクラスが区別されています。 このクラスはトルカデータの登録や取得を行いますが、 トルカデータそのものはTorucaクラスのオブジェクトとして表されます。

このクラスのインスタンスは、ネイティブのトルカデータの 1 つのエントリを表しますが、 このエントリから取得できるのは、 エントリ ID とトルカデータそのものを表すオブジェクトのみです。

このクラスに定義されているクラスメソッドの使い方や、 ネイティブのデータへのアクセス方法に関する規定の大原則は com.nttdocomo.system パッケージの記述を参照して下さい。 ただし、エントリ登録機能 (addEntry(Toruca)) については、 下記の点が大原則と異なります。

エントリ登録時の文字列の扱い:
トルカデータの URL、データ1、データ2、データ3の文字列は、 下記のように振る舞います。
ネイティブのデータとして登録できない文字が含まれている場合:
  • URL においては、設定時(Toruca.setURL(String))に例外が発生します。
  • データ1、データ2、データ3においては、 改行文字を含む制御文字も「登録できる文字」として取り扱われます。
ネイティブのデータとして登録できる最大バイト数を超える文字列が指定された場合:

また、エントリ登録機能について、 トルカ仕様に準拠していないトルカデータが指定された場合には例外が発生します。 具体的には以下の場合になります。

導入されたバージョン:
DoJa-4.1 (902i)

メソッドの概要
static int addEntry(Toruca toruca)
          ユーザ操作によりトルカデータをトルカデータフォルダに新規登録します。
static int[] findByHostAndIpid(String host, String ipid)
          コンテンツ開発者が独自で指定しているID(IP-ID )と、 URL の FQDN を指定して、 検索条件に合致したトルカデータのエントリIDを取得します。
static TorucaStore getEntry(int id)
          トルカデータのエントリ ID を指定して、 ユーザ操作なしにトルカデータのエントリを取得します。
 int getId()
          トルカデータのエントリIDを取得します。
static int getRemainingBytes(Toruca toruca)
          トルカデータに設定できる残りバイト数を返します。
 Toruca getToruca()
          トルカデータを取得します。
static TorucaStore selectEntry()
          ユーザ操作によりトルカデータフォルダ内に保存されているトルカデータのエントリを取得します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

selectEntry

public static TorucaStore selectEntry()
                               throws InterruptedOperationException
ユーザ操作によりトルカデータフォルダ内に保存されているトルカデータのエントリを取得します。

[DoJa-4.1 (902iS) まで]
パーミッションとして携帯電話情報の参照が許可されているトラステッドiアプリのみこのメソッドを呼び出すことができます。
[DoJa-5.0 (903i) 以降]
ADF に AccessUserInfo キーの指定が必要です。 パーミッションとして携帯電話情報の参照が許可されている場合でも、 このメソッドを呼び出すことができます(推奨されていません)。 ADF に AccessUserInfo キーの指定がなく、かつパーミッションとして携帯電話情報の参照が許可されていない場合には、例外 SecurityException が発生します。

上記以外の動作の詳細については、このクラスの説明、 ならびにその説明から引用されている com.nttdocomo.system パッケージに記述されている 「エントリ取得時の振る舞い」の説明を参照して下さい。

このメソッドによりトルカデータを取得しても、ネイティブの既読・未読情報は変化しません。

戻り値:
取得したトルカデータのエントリを返します。 ユーザが選択操作をキャンセルするとnullを返します。 また、選択可能なエントリが存在しない場合にもnullを返します。
例外:
IllegalStateException - [DoJa-5.0 (903i) 以降] ダウンロード即起動アプリがこのメソッドを呼び出した場合に発生します。
IllegalStateException - 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
SecurityException - [DoJa-5.0 (903i) 以降] ADFにAccessUserInfoキーの指定がなく、 かつ、パーミッションとして携帯電話情報の参照が許可されていないアプリケーションがこのメソッドを呼び出した場合に発生します。
SecurityException - パーミッションとして携帯電話情報の参照が許可されているが、 iアプリ個別のユーザ設定により許可されない場合に発生します。
[DoJa-5.0 (903i) 以降] ただし、ADFにAccessUserInfoキーが指定されている場合には発生しません。
SecurityException - ロック機能などのネイティブ独自のセキュリティ設定により、 トルカデータのエントリを取得できない場合に発生します。
InterruptedOperationException - 競合条件などにより、選択操作が異常終了した場合に発生します。

getEntry

public static TorucaStore getEntry(int id)
                            throws StoreException
トルカデータのエントリ ID を指定して、 ユーザ操作なしにトルカデータのエントリを取得します。

[DoJa-4.1 (902iS) まで]
パーミッションとして携帯電話情報の参照が許可されているトラステッドiアプリのみこのメソッドを呼び出すことができます。
[DoJa-5.0 (903i) 以降]
ADF に AccessUserInfo キーの指定が必要です。 パーミッションとして携帯電話情報の参照が許可されている場合でも、 このメソッドを呼び出すことができます(推奨されていません)。 ADF に AccessUserInfo キーの指定がなく、かつパーミッションとして携帯電話情報の参照が許可されていない場合には、例外 SecurityException が発生します。

上記以外の動作の詳細については、このクラスの説明、 ならびにその説明から引用されている com.nttdocomo.system パッケージに記述されている 「エントリ取得時の振る舞い」の説明を参照して下さい。

このメソッドによりトルカデータを取得しても、ネイティブの既読・未読情報は変化しません。

パラメータ:
id - 取得するトルカデータのエントリIDを指定します。
戻り値:
取得したトルカデータのエントリを返します。
例外:
IllegalStateException - [DoJa-5.0 (903i) 以降] ダウンロード即起動アプリがこのメソッドを呼び出した場合に発生します。
SecurityException - [DoJa-5.0 (903i) 以降] ADFにAccessUserInfoキーの指定がなく、 かつ、パーミッションとして携帯電話情報の参照が許可されていないアプリケーションがこのメソッドを呼び出した場合に発生します。
SecurityException - パーミッションとして携帯電話情報の参照が許可されているが、 i アプリ個別のユーザ設定により許可されない場合に発生します。
[DoJa-5.0 (903i) 以降] ただし、ADF に AccessUserInfo キーが指定されている場合には発生しません。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、 トルカデータのエントリを取得できない場合に発生します。
[DoJa-4.1 (902iS) まで] 以下の場合も含みます。
  • 指定されたIDのトルカデータが再配布不可データを含んでいる場合
[DoJa-5.0 (903i) 以降] 指定されたIDのトルカデータが以下の場合も含みます。
  • トルカデータが再配布不可コンテンツを含む場合 (自アプリから保存した再配布不可コンテンツは除く。 ただし、このトルカデータがネイティブ側でカード実体化・ 更新された場合は、自アプリから保存した再配布不可コンテンツとして扱わないこと。 )
  • トルカデータが再配布識別子で再配布不可と設定されている場合 (自アプリから保存したトルカデータは除く。 ただし、このトルカデータがネイティブ側でカード実体化・ 更新された場合は、自アプリから保存したトルカデータとして扱わないこと。 )
  • トルカデータが UIM 内情報を用いた実行制限対象で実行できないコンテンツを含む場合
StoreException -
指定された ID のトルカデータのエントリが存在しない場合に発生します(NOT_FOUND)。
[DoJa-5.0 (903i) 以降] 指定されたIDのトルカデータが以下の場合も含みます。
  • トルカデータが「利用済みトルカ」フォルダ内にある場合

findByHostAndIpid

public static int[] findByHostAndIpid(String host,
                                      String ipid)
                               throws InterruptedOperationException
コンテンツ開発者が独自で指定しているID(IP-ID )と、 URL の FQDN を指定して、 検索条件に合致したトルカデータのエントリIDを取得します。

検索対象はトルカカードです。 検索項目は URL と IP-ID の AND 検索です。 検索条件は以下の通りです。

URL の検索条件:
「引数 host に指定された文字列」と 「トルカデータの取得先 URL の FQDN 」の完全一致です。
IP-ID の検索条件:
「引数 ipid に指定された値の先頭 8 byte 」と 「トルカデータの IP-ID の先頭 8 byte 」の完全一致です。 引数 ipid に 8 byte を超える値が指定された場合は、先頭の 8 byte のみを使用して検索します。 引数 ipid に指定された値が 7 byte 以下の場合は、 検索結果は 0 件になります。

また、下記のトルカデータはiアプリから検索できません。

  • 「利用済みトルカ」フォルダ内のトルカデータ
  • 再配布不可コンテンツを含むトルカデータ (自アプリから保存した再配布不可コンテンツは除く。 ただし、このトルカデータがネイティブ側でカード実体化・ 更新された場合は、自アプリから保存した再配布不可コンテンツとして扱わないこと。 )
  • 再配布識別子で再配布不可と設定されているトルカデータ (自アプリから保存したトルカデータは除く。 ただし、このトルカデータがネイティブ側でカード実体化・ 更新された場合は、自アプリから保存したトルカデータとして扱わないこと。 )
  • UIM 内情報を用いた実行制限対象で実行できないコンテンツを含むトルカデータ

ADF に AccessUserInfo キーの指定が必要です。

検索条件としてコンテンツ開発者が独自で指定している ID ( IP-ID )に不正な値を設定した場合、 null を返します。 また、 該当するトルカデータが存在しない場合にも、 null を返します。

パラメータ:
host - トルカデータ内の URL の FQDN を指定します。
ipid - コンテンツ開発者が独自で指定している ID (IP-ID ) を指定します。
戻り値:
トルカデータのエントリIDを配列で返します。 ユーザが選択操作をキャンセルすると null を返します。 該当するトルカデータが存在しない場合は null を返します。
例外:
IllegalStateException - ダウンロード即起動アプリがこのメソッドを呼び出した場合に発生します。
IllegalStateException - 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
SecurityException - ADF に AccessUserInfo キーの指定がないアプリケーションがこのメソッドを呼び出した場合に発生します。
SecurityException - ロック機能などのネイティブ独自のセキュリティ設定により、 トルカデータのエントリを取得できない場合に発生します。
InterruptedOperationException - 競合条件などにより、選択操作が異常終了した場合に発生します。
導入されたバージョン:
DoJa-5.0 (903i)

addEntry

public static int addEntry(Toruca toruca)
                    throws InterruptedOperationException
ユーザ操作によりトルカデータをトルカデータフォルダに新規登録します。

ADFにAccessUserInfoキーの指定が必要です。 上記以外の動作の詳細については、このクラスの説明、 ならびにその説明から引用されている com.nttdocomo.system パッケージに記述されている説明を参照して下さい。

このメソッドによりトルカデータを登録すると、 ネイティブの既読・未読情報は既読として登録されます。

データ保存領域の容量を超えているために登録できない場合は、 ユーザが登録操作をキャンセルした場合と同様の値を返します。

パラメータ:
toruca - 登録するトルカデータを指定します。
戻り値:
登録されたエントリのIDを返します。 ユーザが登録操作をキャンセルした場合、-1 を返します。
例外:
IllegalStateException - ダウンロード即起動アプリがこのメソッドを呼び出した場合に発生します。
IllegalStateException - 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
NullPointerException - 引数 toruca が null の場合に発生します。
IllegalArgumentException -
[DoJa-4.1 (902iS) まで] 引数 toruca の内容が、トルカ仕様に準拠していない場合に発生します。
IllegalArgumentException -
トルカデータの全体サイズが、 トルカ仕様上の制限を超過している場合に発生します。
SecurityException - ADFにAccessUserInfoキーの指定がないアプリケーションがこのメソッドを呼び出した場合に発生します。
SecurityException - ロック機能などのネイティブ独自のセキュリティ設定により、 トルカデータを登録できない場合に発生します。
InterruptedOperationException - 競合条件などにより、登録操作が異常終了した場合に発生します。

getId

public int getId()
トルカデータのエントリIDを取得します。

戻り値:
トルカデータのエントリIDを返します。

getToruca

public Toruca getToruca()
トルカデータを取得します。

常に同じオブジェクトへの参照を返します。

戻り値:
トルカデータを返します。

getRemainingBytes

public static int getRemainingBytes(Toruca toruca)
addEntry(