Objectcom.nttdocomo.system.Toruca
トルカデータを定義します。
トルカ機能では、
トルカデータの登録や取得を行うクラスと
トルカデータそのものを表すクラスが区別されています。
このクラスはトルカデータそのものを表しますが、
トルカデータの登録や取得は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である場合、またはプロパティがない場合とします。
| フィールドの概要 | |
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 |
| フィールドの詳細 |
public static final String TYPE_CARD
public static final String TYPE_SNIP
| コンストラクタの詳細 |
public Toruca()
初期状態は以下のようになります。
[DoJa-5.0 (903i) 以降]
IP-ID 、色ID、
カナID、再配布識別子、有効期限については、
set 系メソッドが用意されていないため、
このコンストラクタにて初期化された値を変更することはできません。
public Toruca(byte[] data)
このコンストラクタの引数に指定できるバイナリデータは、 トルカ仕様に準拠したフォーマットのバイナリデータです。 それ以外のバイナリデータが指定された場合、 「トルカ仕様に準拠していない」という理由で例外が発生します。
このコンストラクタでは、 引数に指定されたバイナリデータから URL やトルカ種別などの各要素の値を取得し、 それぞれの set 系メソッドと同等のエラーチェックを行います。 この過程で内部的にエラー(例外)を検出した場合は、 その例外がそのままスローされます。
ただし、 スニップデータ部のURL、データ1、データ2、データ3、カテゴリについては、 set 系メソッドと同等のエラーチェックが行われるかどうかは機種依存です。
また、引数に指定されたバイナリデータにトルカデータとして必須の要素(バージョン、 トルカ種別)が含まれていなかった場合に、 「トルカ仕様に準拠していない」という理由で IllegalArgumentException が発生するか、 各 set 系メソッドと同等のエラーチェックにより NullPointerException が発生するかは機種依存です。
[DoJa-5.0 (903i) 以降]
data - トルカデータのバイトデータを指定します。
NullPointerException - 引数 data に null が指定された場合に発生します。
IllegalArgumentException - NullPointerException - 引数 data から取得した各要素の値について、
それぞれの set 系メソッドによるエラーチェックによって
NullPointerException が発生する場合に、そのままスローされます。
IllegalArgumentException - 引数 data から取得した各要素の値について、
それぞれの set 系メソッドによるエラーチェックによって
IllegalArgumentException が発生する場合に、そのままスローされます。
| メソッドの詳細 |
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 の場合に発生します。
public byte[] getVersion()
public void setType(String type)
トルカデータを登録する際に、トルカスニップとして登録する場合は
"snip"(TYPE_SNIP)、
トルカカードとして登録する場合は "card"(TYPE_CARD) を指定します。
大文字・小文字は区別されません。
これら以外の文字列を指定した場合は、例外が発生します。
トルカ種別を表す文字列について、設定時には大文字・小文字は区別されませんが、
取得時(getType())には小文字(TYPE_SNIP または
TYPE_CARD)が返ります。
type - トルカ種別を指定します。
"snip" または "card"(大・小文字の区別なし)を指定します。
NullPointerException - 引数 type が null の場合に発生します。
IllegalArgumentException - サポートされないトルカ種別を指定した場合に発生します。
public String getType()
TYPE_CARD または TYPE_SNIPを返します。public void setURL(String url)
URLは、スキームが http または https で、実装がサポートするバイト数以下でなければなりません。 そうでない場合、例外が発生します。 バイト数はデフォルトのエンコーディングで評価します。 また、ネイティブのトルカ機能で登録できない文字が含まれていた場合も、 例外が発生します。 改行文字を含む制御文字は登録できない文字として扱われます。
url - トルカカードの本体部の取得先URLを指定します。
null を指定可能です。
IllegalArgumentException - 引数 url が実装がサポートするバイト数を超えている場合に発生します。
IllegalArgumentException - 引数 url のスキームが http または https でない場合に発生します。
IllegalArgumentException - 引数 url に、
ネイティブのトルカ機能で登録できない文字が含まれていた場合に発生します。
public String getURL()
public void setData1(String data1)
data1 - データ1を指定します。
null を指定可能です。public String getData1()
public void setData2(String data2)
data2 - データ2を指定します。
null を指定可能です。public String getData2()
public void setData3(String data3)
data3 - データ3を指定します。
null を指定可能です。public String getData3()
public void setCategory(byte[] code)
カテゴリコードに null を設定した場合、
登録時に
未定義アイコンを表示するコード(0x00, 0x00)
に変換されて登録されます。
ただし、この変換によって、
このオブジェクト内で保持しているカテゴリコードが影響を受けることはありません。
このメソッドでは内部で引数に渡された配列の値をコピーする処理が行われるため、 カテゴリ設定後に引数に渡された配列の値を書き換えても、変更は反映されません。
code - カテゴリコード(2バイト)を指定します。
指定された配列の長さが 2 を超える場合には、
第 3 要素以降の値は無視されます。
null を指定できます。
IllegalArgumentException - 引数 code の配列の長さが 2 未満の場合に発生します。
public byte[] getCategory()
public String getIPID()
public int getColorID()
public String getSortID()
public int getRedistributionID()
返る値の意味は、以下のとおりです。
1:再配布不可且つ更新不可
2:再配布不可且つ更新可
3:再配布可且つ更新不可
4:再配布可且つ更新可
上記の値以外の場合(設定されていない場合も含む)、
再配布可且つ更新可となります。
トルカデータが更新不可(再配布識別子が1または3の場合)であっても、 Java からの更新(このクラスのプロパティ設定をする各メソッドの実行)は可能です。
public java.util.Date getExpirationDate()
public void setBody(byte[] body)
引数に指定するバイナリデータは、 トルカ仕様に準拠したフォーマットのカード本体部のバイナリデータです。 MIME-Version、Content-Type宣言を含むカード本体部の全データを指定します。
このメソッドでは内部で引数に渡された配列の値をコピーする処理が行われるため、 本体部設定後に引数に渡された配列の値を書き換えても、変更は反映されません。
body - トルカカードの本体部を指定します。
null を指定可能です。public byte[] getBody()
public void setProperty(String key,
String value)
指定されたキーに該当するプロパティ値を設定します。
同一キーに対して複数回、このメソッドを使用した場合には、 後から指定されたプロパティ値が有効となります。また、 未サポートのキーが指定された場合には、 このメソッドの呼び出しは無視されます。
プロパティ値 に null が指定された場合には、キーを削除します。
"X-Dcm-Move" の HTTP ヘッダ名をキーとして指定することができます。 また、 X-Dcm-Move 以外のキーが設定された場合にはプロパティ値の設定は無視されます。
key - プロパティを指定する文字列を指定します。
大文字小文字の区別はありません。value - プロパティ値の文字列を指定します。
NullPointerException - 引数 key に null が指定された場合に発生します。
IllegalArgumentException - 引数 key に空文字列が指定された場合に発生します。
getProperty(String)public String getProperty(String key)
key - プロパティを指定する文字列を指定します。
NullPointerException - 引数 key に null が指定された場合に発生します。
IllegalArgumentException - 引数 key に空文字列が指定された場合に発生します。
setProperty(String, String)