PrintStreamColumnFormatter.java :  » UnTagged » educationalrobots » oursland » text » Android Open Source

Android Open Source » UnTagged » educationalrobots 
educationalrobots » oursland » text » PrintStreamColumnFormatter.java
package oursland.text;

import java.io.PrintStream;

/**
 * @author oursland
 */
public class PrintStreamColumnFormatter {
  final public PrintStream out;
  final private int[] columns;

  private int current = 0;
  private int length = 0;
  
  public PrintStreamColumnFormatter(PrintStream out, int[] columns) {
    this.out = out;
    this.columns = columns;
  }

  public void nextColumn(String str) {
    extendToColumn();
    out.print(str);
    length += str.length();
    current++;
  }
  public void nextLine() {
    length = 0;
    current = 0;
    out.println();
  }
  private void extendToColumn() {
    StringBuffer buf = new StringBuffer();
    while( length < columns[current] ) {
      buf.append(' ');
      length++;
    }
    out.print(buf.toString());
  }

  public int getNextColumnWidth() {
    if( current+1 < columns.length ) {
      return columns[current+1] - columns[current];
    }
    return Integer.MAX_VALUE;
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.