package graphtea.extensions.reports.boundcheck.forall.iterators; import graphtea.extensions.G6Format; import graphtea.extensions.reports.boundcheck.forall.IterProgressBar; import graphtea.graph.graph.GraphModel; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; /** * Created by rostam on 31.10.15. * This is a iterator on all graphs with the number of vertices size */ public class AllGraphIterator extends GraphModelIterator { //BufferedReader bri; int cnt; IterProgressBar pb; int size; Scanner g_iters; String g6; public AllGraphIterator(String fileSize, int size) { try { g_iters = new Scanner(new File("graphs/"+fileSize+".g6")); } catch (FileNotFoundException e) { e.printStackTrace(); } //bri = ShowG.showG(fileSize,from,to); pb = new IterProgressBar(size); this.size=size; cnt = 0; if(size > 1000) pb.setVisible(true); } public int size() { return size; } @Override public int getCount() { return cnt; } @Override public String getG6() { return g6; } @Override public boolean hasNext() { return g_iters.hasNext(); } @Override public GraphModel next() { cnt++; g6 = g_iters.nextLine(); pb.setValue(cnt); if(cnt > size - 2) { pb.setVisible(false); } return G6Format.stringToGraphModel(g6); } @Override public void remove() { } }