org.lobid.lodmill.StreamToStringReader.java Source code

Java tutorial

Introduction

Here is the source code for org.lobid.lodmill.StreamToStringReader.java

Source

/* Copyright 2013 Jan Schnasse.
 * Licensed under the Eclipse Public License 1.0 */
package org.lobid.lodmill;

import java.io.IOException;
import java.io.Reader;

import org.culturegraph.mf.framework.DefaultObjectPipe;
import org.culturegraph.mf.framework.ObjectReceiver;
import org.culturegraph.mf.framework.annotations.Description;
import org.culturegraph.mf.framework.annotations.In;
import org.culturegraph.mf.framework.annotations.Out;

import com.google.common.io.CharStreams;

/**
 * Reads all content of Reader to one single string.
 * 
 * @author Jan Schnasse
 * 
 */
@Description("Reads all content of Reader to one single string.")
@In(Reader.class)
@Out(String.class)
public class StreamToStringReader extends DefaultObjectPipe<Reader, ObjectReceiver<String>> {

    @Override
    public void process(final Reader reader) {
        assert null != reader;
        process(reader, getReceiver());
    }

    private static void process(final Reader reader, final ObjectReceiver<String> receiver) {
        try {
            receiver.process(CharStreams.toString(reader));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}