|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 必須 | オプション | 詳細: 要素 | ||||||||
@Target(value=TYPE) @Retention(value=RUNTIME) public @interface Effect
この注釈を付けたクラスは、エフェクトクラスとして認識されます。
| 任意要素の概要 | |
|---|---|
java.lang.String |
category
エフェクトのカテゴリです。 |
java.lang.String |
convertTo
エフェクトIDが id() のエフェクトを、convertTo()
に指定したIDのエフェクトに変換します。 |
java.lang.String |
id
エフェクトのIDです。 |
public abstract java.lang.String id
public abstract java.lang.String category
エフェクトのカテゴリです。デフォルトは「カテゴリなし」です。 ここで指定したカテゴリに従ってUI上の表示位置などが分類されます。
Effect.Categories にある定義済みのカテゴリまたは独自のカテゴリを指定することができます。
独自のカテゴリを指定するには、ch.kuramo.javie.api.effectCategory
拡張ポイントに拡張を追加する必要があります。
public abstract java.lang.String convertTo
id() のエフェクトを、convertTo()
に指定したIDのエフェクトに変換します。
例えば、Foo エフェクトの改良版として Foo2 エフェクトを作成したため
Foo エフェクトを Foo2 エフェクトに自動的に変換したい、という場合に次のように使用します。
@Effect(id="Foo", convertTo="Foo2")
public class Foo {
// シグネチャが public void convert(Map<String, Object>)
// のメソッドを実装し、エフェクトのプロパティを変換します。
// このメソッドが無い場合はエフェクトIDが付け替えられるだけとなります。
public void convert(Map<String, Object> map) {
// プロパティの変換処理
// TODO 変換処理の詳細を書く
}
}
この場合、Effect アノテーションを付けたクラスは
エフェクトクラスではなくエフェクトのコンバータクラスとして動作することになります。
なお、旧版のエフェクトを残したまま新版のエフェクトと併存させても構いません。 変換と併存のどちらを選ぶかは利用者の利便性などを考慮して決定してください。
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 必須 | オプション | 詳細: 要素 | ||||||||