001 package jp.osdl.jbento2.analyzer; 002 003 import java.text.DecimalFormat; 004 005 006 public class SummaryBuilder { 007 008 private SampleList allSamples; 009 private SampleList samples; 010 private DecimalFormat format = new DecimalFormat("#0.00"); 011 012 public SummaryBuilder(SampleList allSamples, SampleList samples) { 013 this.allSamples = allSamples; 014 this.samples = samples; 015 } 016 017 public String build() { 018 TextTable tt = new TextTable(6, TextTable.ALIGN_RIGHT, ","); 019 tt.setAlign(0, TextTable.ALIGN_LEFT); 020 tt.addRow(new String[] { 021 "", "time[msec]", "time[sec]", "time[min]", "start", "end" 022 }); 023 tt.addSeparator("-"); 024 buildRow("All", allSamples, tt); 025 buildRow("InRange", samples, tt); 026 return tt.toString(); 027 } 028 029 private void buildRow(String label, SampleList samples, TextTable tt) { 030 long start = 031 SampleUtils.getMinStartTime(samples).getMillitime(); 032 long end = 033 SampleUtils.getMaxEndTime(samples).getMillitime(); 034 tt.addRow(new String[] { 035 label, 036 String.valueOf(end - start), 037 format.format((end - start) / 1000.0), 038 format.format((end - start) / 1000.0 / 60.0), 039 String.valueOf(start), 040 String.valueOf(end) 041 }); 042 } 043 } 044