com.nttdocomo.system
クラス Toruca

Object
  拡張com.nttdocomo.system.Toruca

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

トルカデータを定義します。

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

トルカデータを新規に作成し、登録するためには、 コンストラクタにより Toruca オブジェクトを生成します。 生成したオブジェクトに対してデータ1等の設定、取得、および TorucaStore.addEntry(Toruca) メソッドによる登録を行うことができます。 登録の成否にかかわらず、 登録に使用した Toruca オブジェクトの状態は変化しません。

[DoJa-4.1 (902iS) まで]
なお、トルカデータのURL、データ1、データ2、データ3の文字列の合計サイズは 0byte より大きくなければなりませんが、 このクラスではこの合計サイズのチェックは行いません。 この合計サイズのチェックは登録時(TorucaStore.addEntry(Toruca))に行われます。
[DoJa-5.0 (903i) 以降]
トルカデータのURL、データ1、データ2、データ3の合計サイズのチェックはこのクラスでは 行いません。また、登録時(TorucaStore.addEntry(Toruca))にも行いません。 よって、トルカデータのURL、データ1、データ2、データ3の文字列の合計サイズが 0byte のトルカデータについても登録可能です。

また、トルカデータの全体サイズは、トルカスニップとして登録する場合は 1Kbyte 以下、 トルカカードとして登録する場合は 100Kbyte 以下でなければなりませんが、 このクラスでは全体サイズのチェックは行いません。 トルカデータの全体サイズのチェックは、 登録時(TorucaStore.addEntry(Toruca))に行われます。 ただし、トルカデータに設定できる残りバイト数は TorucaStore.getRemainingBytes(Toruca) メソッドによって調べることができます。

以下のメソッド・コンストラクタ呼び出しにおいて、 トルカオブジェクト生成の元となったトルカデータに不正な値が含まれていた場合、 その値を取得するメソッドによって返される値は、機種依存となります。

トルカデータの各要素を取得するメソッドの説明において、「設定されていない場合」 とは、プロパティの値がnullである場合、またはプロパティがない場合とします。

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

フィールドの概要
static String TYPE_CARD
          トルカ種別の一つで、トルカカードのことを表します (="card")。
static String TYPE_SNIP
          トルカ種別の一つで、トルカスニップのことを表します (="snip")。
 
コンストラクタの概要
Toruca()
          トルカデータを生成します。
Toruca(byte[] data)
          トルカデータを生成します。
 
メソッドの概要
 byte[] getBody()
          トルカカードの本体部を取得します。
 byte[] getCategory()
          カテゴリを取得します。
 int getColorID()
          色IDを取得します。
 String getData1()
          データ1を取得します。
 String getData2()
          データ2を取得します。
 String getData3()
          データ3を取得します。
 java.util.Date getExpirationDate()
          このトルカデータの有効期限を取得します。
 String getIPID()
          コンテンツ開発者が独自で指定しているID( IP-ID )を取得します。
 String getProperty(String key)
          指定されたキーに該当するプロパティ値を取得します。
 int getRedistributionID()
          このトルカデータの再配布識別子を取得します。
 String getSortID()
          トルカデータのソートに用いるための読み仮名(カナID)を取得します。
 String getType()
          トルカ種別を取得します。
 String getURL()
          トルカカードの本体部の取得先URLを取得します。
 byte[] getVersion()
          トルカデータのバージョンを取得します。
 void setBody(byte[] body)
          トルカカードの本体部を設定します。
 void setCategory(byte[] code)
          カテゴリを設定します。
 void setData1(String data1)
          データ1を設定します。
 void setData2(String data2)
          データ2を設定します。
 void setData3(String data3)
          データ3を設定します。
 void setProperty(String key, String value)
           指定されたキーに該当するプロパティ値を設定します。
 void setType(String type)
          トルカ種別を設定します。
 void setURL(String url)
          トルカカードの本体部の取得先URLを設定します。
 void setVersion(byte[] version)
          トルカデータのバージョンを設定します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

TYPE_CARD

public static final String TYPE_CARD
トルカ種別の一つで、トルカカードのことを表します (="card")。

関連項目:
定数フィールド値

TYPE_SNIP

public static final String TYPE_SNIP
トルカ種別の一つで、トルカスニップのことを表します (="snip")。

関連項目:
定数フィールド値
コンストラクタの詳細

Toruca

public Toruca()
トルカデータを生成します。

初期状態は以下のようになります。

  • バージョン : {0x01, 0x00}
  • トルカ種別 : "snip"
  • URL : null
  • データ1 : null
  • データ2 : null
  • データ3 : null
  • カテゴリ : null
  • [DoJa-5.0 (903i) 以降] IP-ID : null
  • [DoJa-5.0 (903i) 以降] 色ID : -1
  • [DoJa-5.0 (903i) 以降] カナID : null
  • [DoJa-5.0 (903i) 以降] 再配布識別子 : 4:再配布可且つ更新可
  • [DoJa-5.0 (903i) 以降] 有効期限 : null
  • 本体部 : null

[DoJa-5.0 (903i) 以降]
IP-ID 、色ID、 カナID、再配布識別子、有効期限については、 set 系メソッドが用意されていないため、 このコンストラクタにて初期化された値を変更することはできません。


Toruca

public Toruca(byte[] data)
トルカデータを生成します。

このコンストラクタの引数に指定できるバイナリデータは、 トルカ仕様に準拠したフォーマットのバイナリデータです。 それ以外のバイナリデータが指定された場合、 「トルカ仕様に準拠していない」という理由で例外が発生します。

このコンストラクタでは、 引数に指定されたバイナリデータから URL やトルカ種別などの各要素の値を取得し、 それぞれの set 系メソッドと同等のエラーチェックを行います。 この過程で内部的にエラー(例外)を検出した場合は、 その例外がそのままスローされます。

ただし、 スニップデータ部のURL、データ1、データ2、データ3、カテゴリについては、 set 系メソッドと同等のエラーチェックが行われるかどうかは機種依存です。

また、引数に指定されたバイナリデータにトルカデータとして必須の要素(バージョン、 トルカ種別)が含まれていなかった場合に、 「トルカ仕様に準拠していない」という理由で IllegalArgumentException が発生するか、 各 set 系メソッドと同等のエラーチェックにより NullPointerException が発生するかは機種依存です。

[DoJa-5.0 (903i) 以降]
スニップデータ部のIP-ID 、色ID、 カナID、再配布識別子、 有効期限については、各要素の値に対するエラーチェックは行なわれません。 また、これらの要素には set 系メソッドが用意されていないため、 このコンストラクタにて設定した値を変更することはできません。

パラメータ:
data - トルカデータのバイトデータを指定します。
例外:
NullPointerException - 引数 data に null が指定された場合に発生します。
IllegalArgumentException -
引数 data の内容が、トルカ仕様に準拠していない場合に発生します。
NullPointerException - 引数 data から取得した各要素の値について、 それぞれの set 系メソッドによるエラーチェックによって NullPointerException が発生する場合に、そのままスローされます。
IllegalArgumentException - 引数 data から取得した各要素の値について、 それぞれの set 系メソッドによるエラーチェックによって IllegalArgumentException が発生する場合に、そのままスローされます。
メソッドの詳細

setVersion

public void setVersion(byte[] version)
トルカデータのバージョンを設定します。

このメソッドでは内部で引数に渡された配列の値をコピーする処理が行われるため、 バージョン設定後に引数に渡された配列の値を書き換えても、変更は反映されません。

パラメータ:
version - トルカデータのバージョン(2バイト)を指定します。 第1要素をメジャーバージョン、第2要素をマイナーバージョンとし、 0x00 〜 0x09までの値が指定できます。 指定された配列の長さが 2 を超える場合には、 第 3 要素以降の値は無視されます。
例外:
NullPointerException - 引数 version に null が指定された場合に発生します。
IllegalArgumentException - 引数 version の配列の長さが 2 未満の場合に発生します。
IllegalArgumentException - 引数 version の第 1 , 2 要素の値が 0x09 より大きい場合に発生します。
IllegalArgumentException - 引数 version の第 1 要素の値が、 ネイティブのトルカ機能が対応しているメジャーバージョンより大きい場合、または 0x00 の場合に発生します。

getVersion

public byte[] getVersion()
トルカデータのバージョンを取得します。

戻り値:
トルカデータのバージョン(2バイト)を返します。 第1要素にメジャーバージョン、 第2要素にマイナーバージョンが設定されています。 返される配列は、このオブジェクトが内部で保持している配列のコピーです。

setType

public void setType(String type)
トルカ種別を設定します。

トルカデータを登録する際に、トルカスニップとして登録する場合は "snip"(TYPE_SNIP)、 トルカカードとして登録する場合は "card"(TYPE_CARD) を指定します。 大文字・小文字は区別されません。 これら以外の文字列を指定した場合は、例外が発生します。

トルカ種別を表す文字列について、設定時には大文字・小文字は区別されませんが、 取得時(getType())には小文字(TYPE_SNIP または TYPE_CARD)が返ります。

パラメータ:
type - トルカ種別を指定します。 "snip" または "card"(大・小文字の区別なし)を指定します。
例外:
NullPointerException - 引数 type が null の場合に発生します。
IllegalArgumentException - サポートされないトルカ種別を指定した場合に発生します。

getType

public String getType()
トルカ種別を取得します。

戻り値:
トルカ種別を返します。 TYPE_CARD または TYPE_SNIPを返します。

setURL

public void setURL(String url)
トルカカードの本体部の取得先URLを設定します。

URLは、スキームが http または https で、実装がサポートするバイト数以下でなければなりません。 そうでない場合、例外が発生します。 バイト数はデフォルトのエンコーディングで評価します。 また、ネイティブのトルカ機能で登録できない文字が含まれていた場合も、 例外が発生します。 改行文字を含む制御文字は登録できない文字として扱われます。

パラメータ:
url - トルカカードの本体部の取得先URLを指定します。 null を指定可能です。
例外:
IllegalArgumentException - 引数 url が実装がサポートするバイト数を超えている場合に発生します。
IllegalArgumentException - 引数 url のスキームが http または https でない場合に発生します。
IllegalArgumentException - 引数 url に、 ネイティブのトルカ機能で登録できない文字が含まれていた場合に発生します。

getURL

public String getURL()
トルカカードの本体部の取得先URLを取得します。

戻り値:
トルカカードの本体部の取得先URLを返します。 設定されていない場合、nullを返します。

setData1

public void setData1(String data1)
データ1を設定します。

パラメータ:
data1 - データ1を指定します。 null を指定可能です。

getData1

public String getData1()
データ1を取得します。

戻り値:
データ1を返します。 設定されていない場合、nullを返します。

setData2

public void setData2(String data2)
データ2を設定します。

パラメータ:
data2 - データ2を指定します。 null を指定可能です。

getData2

public String getData2()
データ2を取得します。

戻り値:
データ2を返します。 設定されていない場合、nullを返します。

setData3

public void setData3(String data3)
データ3を設定します。

パラメータ:
data3 - データ3を指定します。 null を指定可能です。

getData3

public String getData3()
データ3を取得します。

戻り値:
データ3を返します。 設定されていない場合、nullを返します。

setCategory

public void setCategory(byte[] code)
カテゴリを設定します。

カテゴリコードに null を設定した場合、 登録時に 未定義アイコンを表示するコード(0x00, 0x00) に変換されて登録されます。 ただし、この変換によって、 このオブジェクト内で保持しているカテゴリコードが影響を受けることはありません。

このメソッドでは内部で引数に渡された配列の値をコピーする処理が行われるため、 カテゴリ設定後に引数に渡された配列の値を書き換えても、変更は反映されません。

パラメータ:
code - カテゴリコード(2バイト)を指定します。 指定された配列の長さが 2 を超える場合には、 第 3 要素以降の値は無視されます。 null を指定できます。
例外:
IllegalArgumentException - 引数 code の配列の長さが 2 未満の場合に発生します。

getCategory

public byte[] getCategory()
カテゴリを取得します。

戻り値:
カテゴリコード(2バイト)を返します。 設定されていない場合、nullを返します。 返される配列は、このオブジェクトが内部で保持している配列のコピーです。

getIPID

public String getIPID()
コンテンツ開発者が独自で指定しているID( IP-ID )を取得します。

戻り値:
コンテンツ開発者が独自で指定しているIDを返します。 設定されていない場合、nullを返します。
導入されたバージョン:
DoJa-5.0 (903i)

getColorID

public int getColorID()
色IDを取得します。

戻り値:
色IDを返します。 返される値は、0〜9までの整数値です。 設定されていない場合、-1を返します。
導入されたバージョン:
DoJa-5.0 (903i)

getSortID

public String getSortID()
トルカデータのソートに用いるための読み仮名(カナID)を取得します。

戻り値:
読み仮名(全角2文字)を返します。 設定されていない場合、null を返します。
導入されたバージョン:
DoJa-5.0 (903i)

getRedistributionID

public int getRedistributionID()
このトルカデータの再配布識別子を取得します。

返る値の意味は、以下のとおりです。
1:再配布不可且つ更新不可
2:再配布不可且つ更新可
3:再配布可且つ更新不可
4:再配布可且つ更新可
上記の値以外の場合(設定されていない場合も含む)、 再配布可且つ更新可となります。

トルカデータが更新不可(再配布識別子が1または3の場合)であっても、 Java からの更新(このクラスのプロパティ設定をする各メソッドの実行)は可能です。

戻り値:
このトルカデータに設定されている再配布識別子を返します。 設定されていない場合は、-1を返します。
導入されたバージョン:
DoJa-5.0 (903i)

getExpirationDate

public java.util.Date getExpirationDate()
このトルカデータの有効期限を取得します。

戻り値:
有効期限を返します。 設定されていない場合、nullを返します。
導入されたバージョン:
DoJa-5.0 (903i)

setBody

public void setBody(byte[] body)
トルカカードの本体部を設定します。

引数に指定するバイナリデータは、 トルカ仕様に準拠したフォーマットのカード本体部のバイナリデータです。 MIME-Version、Content-Type宣言を含むカード本体部の全データを指定します。

このメソッドでは内部で引数に渡された配列の値をコピーする処理が行われるため、 本体部設定後に引数に渡された配列の値を書き換えても、変更は反映されません。

パラメータ:
body - トルカカードの本体部を指定します。 null を指定可能です。

getBody

public byte[] getBody()
トルカカードの本体部を取得します。

戻り値:
トルカカードの本体部を返します。 設定されていない場合、nullを返します。 返される配列は、このオブジェクトが内部で保持している配列のコピーです。

setProperty

public void setProperty(String key,
                        String value)

指定されたキーに該当するプロパティ値を設定します。

同一キーに対して複数回、このメソッドを使用した場合には、 後から指定されたプロパティ値が有効となります。また、 未サポートのキーが指定された場合には、 このメソッドの呼び出しは無視されます。

プロパティ値 に null が指定された場合には、キーを削除します。

"X-Dcm-Move" の HTTP ヘッダ名をキーとして指定することができます。 また、 X-Dcm-Move 以外のキーが設定された場合にはプロパティ値の設定は無視されます。

パラメータ:
key - プロパティを指定する文字列を指定します。 大文字小文字の区別はありません。
value - プロパティ値の文字列を指定します。
例外:
NullPointerException - 引数 key に null が指定された場合に発生します。
IllegalArgumentException - 引数 key に空文字列が指定された場合に発生します。
導入されたバージョン:
DoJa-5.0 (903i)
関連項目:
getProperty(String)

getProperty

public String getProperty(String key)
指定されたキーに該当するプロパティ値を取得します。 無効なキーが指定された場合は null を返します。 また、指定されたキーに該当するプロパティ値が存在しない場合にも null を返します。 キーには大文字小文字の区別はありません。

パラメータ:
key - プロパティを指定する文字列を指定します。
戻り値:
プロパティ値を文字列で返します。
例外:
NullPointerException - 引数 key に null が指定された場合に発生します。
IllegalArgumentException - 引数 key に空文字列が指定された場合に発生します。
導入されたバージョン:
DoJa-5.0 (903i)
関連項目:
setProperty(String, String)