PrintWriterProducer.java
package org.ferris.riviera.console.io;
import java.io.PrintWriter;
import javax.enterprise.inject.Produces;
/**
* Produces a {@link PrintWriter} used by {@link Console}
*
* @author Michael Remijan mjremijan@yahoo.com @mjremijan
*/
public class PrintWriterProducer {
protected PrintWriter writer;
/**
* Produces a {@link PrintWriter} wrapping {@code System.out}
*
* @return A {@link PrintWriter}, never null.
*/
@Produces
public PrintWriter producePrintWriter() {
if (writer == null) {
writer = new PrintWriter(System.out);
}
return writer;
}
}