UMLツールで Java 5.0 のソースをリバースする
なかなかこれができるツールが少ないので、対応するまでの暫定対応。
ソースコードの 5.0 拡張構文をコメントアウトするだけ。
DisableJava5.rb をダウンロードして、
ruby DisableJava5.rb source_path [target_path]
とスクリプトを実行すると、
// 変換前 import static java.util.Calendar.*; public class Example5<T extends Number> { @Deprecated public T getData() { return null; } @SuppressWarnings("unchecked") public <S> void doSomething(S arg, String... options) { for (String option : options) { System.out.println(option); } } public enum Bar {FIRST, SECOND, THIRD} }
このソースコードが、
// 変換後 /*import static java.util.Calendar.*;*/ public class Example5/*<T extends Number>*/ { /*@Deprecated*/ public T getData() { return null; } /*@SuppressWarnings("unchecked")*/ public /*<S>*/ void doSomething(S arg, String/*...*/[] options) { for (/*String option : options:*/;;) { System.out.println(option); } } /*public enum Bar {FIRST, SECOND, THIRD}*/ }
このように変換される。
コンパイルは通らないけれど、Java 5.0 のリバースに対応していないUMLツールでもリバースできるようになる。JUDE と Elapiz で動作を確認した。
なお、Enterpries Architect は Java 5.0 に対応済み。