■
ログ解析ツールの開発にあたり、現在、こんな感じでアプリを開発できるようにしている。
@BorderLayout @North(Class=JTextField.class, binding=Main.SearchText) @South(Class=JList.class, scrolls=true, binding=Main.ListContents) public class Main extends JFrame { public static final String SearchText = "SearchText"; public static final String FileContents = "FileContents"; public static final String ListContents = "ListContents"; @Action(menu="File.Open", action=AskOpenFileCommand.class, binding=FileContents) public List<String> openFile( File file ){ return IOUtils.readLines(file, Charset.defaultCharset()); } @ContextChangeAction(name={FileContents, SearchText}, binding=ListContents) public List<String> search( @Resource(FileContents) List<String> filedata, @Resource(SearchText) String text ){ return CollectionUtils.filter(filedata, text); } }
これを、
java Execute Main
と実行すると、GUIでのgrepができる感じのアプリケーションが起動できるようにしたい。