/** * This file is licensed under the University of Illinois/NCSA Open Source License. See LICENSE.TXT for details. */ package edu.illinois.codingspectator.csvtotransactions; import java.io.IOException; import java.io.Writer; /** * * @author Mohsen Vakilian * */ public class TransactionWriters { private Writer transactionWriter; private boolean hasWrittenDetailedTransactionsHeader; private Writer detailedTransactionsWriter; public TransactionWriters(Writer transactionWriter, Writer detailedTransactionsWriter) { this.hasWrittenDetailedTransactionsHeader= false; this.transactionWriter= transactionWriter; this.detailedTransactionsWriter= detailedTransactionsWriter; } public void writeTransaction(Transaction transaction) throws IOException { transaction.setTransactionPatternIdentifier(); transactionWriter.write(transaction.toString() + "\n"); if (detailedTransactionsWriter != null) { if (!hasWrittenDetailedTransactionsHeader) { detailedTransactionsWriter.write(transaction.getDetailedStringHeader() + "\n"); hasWrittenDetailedTransactionsHeader= true; } detailedTransactionsWriter.write(transaction.getDetailedString() + "\n"); } } public void close() { try { transactionWriter.close(); if (detailedTransactionsWriter != null) { detailedTransactionsWriter.close(); } } catch (IOException e) { throw new RuntimeException(e); } } }