package com.pedrocarrillo.expensetracker.utils; import com.pedrocarrillo.expensetracker.entities.Expense; import com.pedrocarrillo.expensetracker.interfaces.FileGeneratorParser; import java.util.List; /** * Created by pedrocarrillo on 3/20/16. */ public class HistoryFileParser implements FileGeneratorParser { @Override public String generateFileContent() { StringBuilder contentBuilder = new StringBuilder(); contentBuilder.append("Expense Tracker ").append(Util.formatDateToString(DateManager.getInstance().getDateFrom(), Util.getCurrentDateFormat())).append(" - ").append(Util.formatDateToString(DateManager.getInstance().getDateTo(), Util.getCurrentDateFormat())).append(addNextLine()); List<Expense> expenseList = ExpensesManager.getInstance().getExpensesList(); contentBuilder.append(addNextLine()); for (Expense expense : expenseList) { contentBuilder.append(Util.formatDateToString(expense.getDate(), Util.getCurrentDateFormat())).append(addTab()); contentBuilder.append(expense.getCategory().getName()).append(addTab()); contentBuilder.append(expense.getDescription()).append(addTab()); contentBuilder.append(expense.getTotal()).append(addNextLine()); } contentBuilder.append(addNextLine()); float total = Expense.getCategoryTotalByDate(DateManager.getInstance().getDateFrom(), DateManager.getInstance().getDateTo(), null); contentBuilder.append("Total").append(addTab()).append(total); return contentBuilder.toString(); } public static String addNextLine() { return "\n"; } public static String addTab() { return "\t"; } }