public void dumpNoTabs(PrintStream out){
  print(3,true,out,"seq");
  out.print(' ');
  print(19,false,out,"version");
  out.print(' ');
  print(formatDates ? 12 : 10,false,out,"time");
  print(1 + 7,true,out,"classes");
  print(1 + WIDTH,true,out,"NCSS");
  print(1 + WIDTH,true,out,"added");
  print(1 + WIDTH,true,out,"newCode");
  print(1 + WIDTH,true,out,"fixed");
  print(1 + WIDTH,true,out,"removed");
  print(1 + WIDTH,true,out,"retained");
  print(1 + WIDTH,true,out,"dead");
  print(1 + WIDTH,true,out,"active");
  out.println();
  for (int i=0; i < versionList.length; ++i) {
    Version version=versionList[i];
    AppVersion appVersion=sequenceToAppVersionMap.get(version.getSequence());
    print(3,true,out,i);
    out.print(' ');
    print(19,false,out,appVersion != null ? appVersion.getReleaseName() : "");
    out.print(' ');
    long ts=(appVersion != null ? appVersion.getTimestamp() : 0L);
    if (formatDates) {
      print(12,false,out,dateFormat.format(ts));
    }
 else {
      print(10,false,out,ts / 1000);
    }
    out.print(' ');
    print(7,true,out,appVersion != null ? appVersion.getNumClasses() : 0);
    out.print(' ');
    print(WIDTH,true,out,appVersion != null ? appVersion.getCodeSize() : 0);
    for (int j=0; j < TUPLE_SIZE; ++j) {
      out.print(' ');
      print(WIDTH,true,out,version.get(j));
    }
    out.println();
  }
}

public void dumpNoTabs ( PrintStream out ) { print ( 3 , true , out , "seq" ) ; out . print ( ' ' ) ; print ( 19 , false , out , "version" ) ; out . print ( ' ' ) ; print ( formatDates ? 12 : 10 , false , out , "time" ) ; print ( 1 + 7 , true , out , "classes" ) ; print ( 1 + WIDTH , true , out , "NCSS" ) ; print ( 1 + WIDTH , true , out , "added" ) ; print ( 1 + WIDTH , true , out , "newCode" ) ; print ( 1 + WIDTH , true , out , "fixed" ) ; print ( 1 + WIDTH , true , out , "removed" ) ; print ( 1 + WIDTH , true , out , "retained" ) ; print ( 1 + WIDTH , true , out , "dead" ) ; print ( 1 + WIDTH , true , out , "active" ) ; out . println ( ) ; for ( int i = 0 ; i < versionList . length ; ++ i ) { Version version = versionList [ i ] ; AppVersion appVersion = sequenceToAppVersionMap . get ( version . getSequence ( ) ) ; print ( 3 , true , out , i ) ; out . print ( ' ' ) ; print ( 19 , false , out , appVersion != null ? appVersion . getReleaseName ( ) : "" ) ; out . print ( ' ' ) ; long ts = ( appVersion != null ? appVersion . getTimestamp ( ) : 0L ) ; if ( formatDates ) { print ( 12 , false , out , dateFormat . format ( ts ) ) ; } else { print ( 10 , false , out , ts / 1000 ) ; } out . print ( ' ' ) ; print ( 7 , true , out , appVersion != null ? appVersion . getNumClasses ( ) : 0 ) ; out . print ( ' ' ) ; print ( WIDTH , true , out , appVersion != null ? appVersion . getCodeSize ( ) : 0 ) ; for ( int j = 0 ; j < TUPLE_SIZE ; ++ j ) { out . print ( ' ' ) ; print ( WIDTH , true , out , version . get ( j ) ) ; } out . println ( ) ; } }
this implementation of dump ( ) tries to better align columns ( when viewed with a fixed - width font ) by padding with spaces instead of using tabs . also , timestamps are formatted more tersely ( - formatdates option ) . the bad news is that it requires a minimum of 112 columns .
