https://appframework.dev.java.net/
作者のHans Muller氏の0.40リリースに関する投稿メールは以下URL
https://appframework.dev.java.net/servlets/ReadMsg?list=users&msgNo=539
Taskが変更大
まずコンストラクタに修正が入り、引数なしか、リソースマップを指定するものかいずれか選択する必要があります。
引数なしのコンストラクタでタスクをインスタンス化した場合、リソースについては、Taskのクラス名に基づくファイルに記述します。
またリソースファイルの文字列では、{0}や{1}のように指定する方法から、printfのように%sなどの変換子で指定する方法に変更となりました。
(20070527追記)
MyApplicationクラスでMyTaskを生成する場合のリソースファイル名、リソースプロパティ名の組み合わせを調査・整理しました。
1) MyApplication.propertiesにMyTaskのプロパティを直接記述する
public class MyApplication extends SingleFrameApplication { : @Action public Task myAction() { ResourceMap map = ApplicationContext.getInstance().getResourceMap( MyApplication.class ); Task task = new MyTask(map); task.addListener(new MyTaskListener()); return task } : } class MyTask extends Task<String, Void> { MyTask(ResourceMap aMap) { super(aMap, null); } : }
タスクで"startMessage"プロパティを使用する場合、MyApplication.propertiesファイルに記述することになります。
# MyApplication.properties
startMessage = Starting: %s
2) MyApplication.propertiesにMyTaskのプロパティを"MyTask"プレフィックス付きで記述する
public class MyApplication extends SingleFrameApplication { : @Action public Task myAction() { ResourceMap map = ApplicationContext.getInstance().getResourceMap( MyApplication.class ); Task task = new MyTask(map, "MyTask"); task.addListener(new MyTaskListener()); return task } : } class MyTask extends Task<String, Void> { MyTask(ResourceMap aMap, String aPrefix) { super(aMap, aPrefix); } : }
タスクで"startMessage"プロパティを使用する場合、MyApplication.propertiesファイルにプレフィックス"MyTask."を付けて記述することになります。
# MyApplication.properties
MyTask.startMessage = Starting: %s
3) MyApplication.propertiesとは別にMyTask.propertiesにMyTask関連のプロパティを記述する
public class MyApplication extends SingleFrameApplication { : @Action public Task myAction() { Task task = new MyTask(); task.addListener(new MyTaskListener()); return task } : } class MyTask extends Task<String, Void> { : }
タスクで"startMessage"プロパティを使用する場合、MyTask.propertiesファイルに記述することになります。
# MyTask.properties
startMessage = Starting: %s