private void writeFitID(final Transaction transaction) { // write out the banks transaction id if previously imported if (transaction.getFitid() != null && !transaction.getFitid().isEmpty()) { indentedWriter.println(wrap(FITID, transaction.getFitid()), indentLevel); } else { indentedWriter.println(wrap(FITID, transaction.getUuid()), indentLevel); } }
/** * Writes one bank transaction * * @param transaction <code>Transaction</code> to write */ private void writeBankTransaction(final Transaction transaction) { indentedWriter.println(wrapOpen(STMTTRN), indentLevel++); indentedWriter.println( wrapOpen(TRNTYPE) + (transaction.getAmount(account).compareTo(BigDecimal.ZERO) == 1 ? CREDIT : DEBIT), indentLevel); indentedWriter.println(wrapOpen(DTPOSTED) + encodeDate(transaction.getDate()), indentLevel); indentedWriter.println( wrapOpen(TRNAMT) + transaction.getAmount(account).toPlainString(), indentLevel); indentedWriter.println(wrapOpen(REFNUM) + transaction.getUuid(), indentLevel); indentedWriter.println(wrapOpen(NAME) + transaction.getPayee(), indentLevel); indentedWriter.println(wrapOpen(MEMO) + transaction.getMemo(), indentLevel); // write the check number if applicable if (account.getAccountType() == AccountType.CHECKING && !transaction.getNumber().isEmpty()) { indentedWriter.println(wrapOpen(CHECKNUM) + transaction.getNumber(), indentLevel); } // write out the banks transaction id if previously imported writeFitID(transaction); indentedWriter.println(wrapClose(STMTTRN), --indentLevel); }