Package com.topologi.diffx.load

Source Code of com.topologi.diffx.load.TextRecorder

/*
* This file is part of the DiffX library.
*
* For licensing information please see the file license.txt included in the release.
* A copy of this licence can also be found at
*   http://www.opensource.org/licenses/artistic-license-2.0.php
*/
package com.topologi.diffx.load;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.StringReader;

import com.topologi.diffx.event.impl.LineEvent;
import com.topologi.diffx.sequence.EventSequence;

/**
* Records the line events in a text.
*
* @author Christophe Lauret
*
* @version 17 October 2006
*/
public final class TextRecorder implements Recorder {

  /**
   * Runs the recorder on the specified file.
   *
   * <p>This method will count on the {@link org.xml.sax.InputSource} to guess the correct encoding.
   *
   * @param file The file to process.
   *
   * @return The recorded sequence of events.
   *
   * @throws LoadingException If thrown whilst parsing.
   * @throws IOException      Should I/O error occur.
   */
  public EventSequence process(File file) throws LoadingException, IOException {
    BufferedReader reader = new BufferedReader(new FileReader(file));
    String line = reader.readLine();
    int count = 0;
    EventSequence seq = new EventSequence();
    while (line != null) {
      seq.addEvent(new LineEvent(line, ++count));
      line = reader.readLine();
    }
    reader.close();
    return seq;
  }

  /**
   * Runs this recorder on the specified string.
   *
   * @param text The text string to process.
   *
   * @return The recorded sequence of events.
   *
   * @throws LoadingException If thrown whilst parsing.
   * @throws IOException      Should I/O error occur.
   */
  public EventSequence process(String text) throws LoadingException, IOException {
    BufferedReader reader = new BufferedReader(new StringReader(text));
    String line = reader.readLine();
    int count = 0;
    EventSequence seq = new EventSequence();
    while (line != null) {
      seq.addEvent(new LineEvent(line, ++count));
      line = reader.readLine();
    }
    return seq;
  }

}
TOP

Related Classes of com.topologi.diffx.load.TextRecorder

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.