Mercurial > hg > RemoteEditor > REPSessionManager
view rep/optimizers/REPCommandOptimizer.java @ 331:f9fa876d3539
Optimizer test
author | kono |
---|---|
date | Sun, 12 Oct 2008 09:43:17 +0900 |
parents | e44c1773d121 |
children |
line wrap: on
line source
package rep.optimizers; import java.util.List; import rep.REPCommand; public interface REPCommandOptimizer { // なんで、Interfaceじゃないの? // Interface じゃないせいで、NullOptimizer でも余計なコピーが生じている。 // 本来、最適化はコピーしながら作業するので、余計にコピーするのは良くない。 // まぁ、この方が安全臭いことはあるかも知れないけど。kono // リストとその中身のREPCommandをコピーするため. finalでよい? // final だとoverride できないので、このコピーを外すことは誰にも出来なくなって // しまう。kono // public final List<REPCommand> optimize(List<REPCommand> cmdlist){ // List<REPCommand> copied = new LinkedList<REPCommand>(); // for (REPCommand cmd: cmdlist){ // // ちゃんと new しないといけません! // copied.add(new REPCommand(cmd)); // } // return optimize0(copied); // } // 継承したクラスでこれを実装してください 直接cmdlistを返すのもあり. public List<REPCommand> optimize(List<REPCommand> cmdlist); }