Mercurial > hg > RemoteEditor > REPSessionManager
view rep/optimizers/REPCommandOptimizer.java @ 502:49b689b17d06 default tip
merged TestEditor to REPEditor
author | suika6039 |
---|---|
date | Tue, 21 Dec 2010 18:01:15 +0900 |
parents | f9fa876d3539 |
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); }