Class TxnUtil


  • public class TxnUtil
    extends java.lang.Object
    • Field Detail

      • DEBUG

        public static boolean DEBUG
      • DATE_COMPARATOR

        public static java.util.Comparator<AbstractTxn> DATE_COMPARATOR
      • DATE_ENTERED_COMPARATOR

        public static java.util.Comparator<AbstractTxn> DATE_ENTERED_COMPARATOR
      • DESCRIPTION_COMPARATOR

        public static java.util.Comparator<AbstractTxn> DESCRIPTION_COMPARATOR
      • ACCOUNT_THEN_DATE_COMPARATOR

        public static java.util.Comparator<AbstractTxn> ACCOUNT_THEN_DATE_COMPARATOR
      • CATEGORY_THEN_DATE_COMPARATOR

        public static java.util.Comparator<AbstractTxn> CATEGORY_THEN_DATE_COMPARATOR
      • ACCOUNT_JUST_NAME_COMPARATOR

        public static java.util.Comparator<AbstractTxn> ACCOUNT_JUST_NAME_COMPARATOR
      • CATEGORY_COMPARATOR

        public static java.util.Comparator<AbstractTxn> CATEGORY_COMPARATOR
      • DATE_THEN_AMOUNT_COMPARATOR

        public static java.util.Comparator<AbstractTxn> DATE_THEN_AMOUNT_COMPARATOR
      • DATE_THEN_AMOUNT_TXN_COMPARATOR

        public static java.util.Comparator<Txn> DATE_THEN_AMOUNT_TXN_COMPARATOR
      • DATE_THEN_STATUS_COMPARATOR

        public static java.util.Comparator<AbstractTxn> DATE_THEN_STATUS_COMPARATOR
      • AMOUNT_COMPARATOR

        public static java.util.Comparator<AbstractTxn> AMOUNT_COMPARATOR
      • DATE_THEN_CHECKNUM_COMPARATOR

        public static java.util.Comparator<AbstractTxn> DATE_THEN_CHECKNUM_COMPARATOR
      • TAXDATE_THEN_CHECKNUM_COMPARATOR

        public static java.util.Comparator<AbstractTxn> TAXDATE_THEN_CHECKNUM_COMPARATOR
      • CHECKNUM_COMPARATOR

        public static java.util.Comparator<AbstractTxn> CHECKNUM_COMPARATOR
      • CHECKNUM_PARENT_COMPARATOR

        public static java.util.Comparator<AbstractTxn> CHECKNUM_PARENT_COMPARATOR
      • CHECKNUM_NUMERIC_COMPARATOR

        public static java.util.Comparator<AbstractTxn> CHECKNUM_NUMERIC_COMPARATOR
      • STATUS_CHECKNUM_COMPARATOR

        public static java.util.Comparator<AbstractTxn> STATUS_CHECKNUM_COMPARATOR
      • STATUS_THEN_DATE_ENTERED_COMPARATOR

        public static java.util.Comparator<AbstractTxn> STATUS_THEN_DATE_ENTERED_COMPARATOR
      • DEFAULT_COMPARATOR

        public static java.util.Comparator<AbstractTxn> DEFAULT_COMPARATOR
    • Method Detail

      • comparatorForField

        public static java.util.Comparator<AbstractTxn> comparatorForField​(int field)
      • setInvstTxnType

        public static final void setInvstTxnType​(ParentTxn ptxn,
                                                 InvestTxnType txnType)
        Deprecated.
        as of Moneydance 2017.7 build 1662 use ParentTxn.setInvestTxnType(InvestTxnType)
        Tag the given (investment) transaction with the given transaction type
      • getKeywordsAsString

        public static java.lang.String getKeywordsAsString​(java.util.List<java.lang.String> keywords)
      • getInvstTxnType

        public static int getInvstTxnType​(ParentTxn ptxn)
      • getInvestTxnType

        public static InvestTxnType getInvestTxnType​(ParentTxn ptxn)
        Deprecated.
        as of Moneydance 2017.7 build 1662 use ParentTxn.getInvestTxnType()
        Returns:
        The investment transaction type for the given transaction
      • applyVAT

        public static final void applyVAT​(ParentTxn ptxn)
        Apply any VAT/GST transformation (ie adding/adjusting splits) to the given transaction.
      • copyVATInfo

        public static final void copyVATInfo​(AbstractTxn fromTxn,
                                             AbstractTxn toTxn)
        Copy any VAT/GST-related tags from one split to another. This should only be used when duplicating transactions (ie for auto-completion) for which you would like the VAT/GST status to also be transferred.
      • findVATGSTSplit

        public static final SplitTxn findVATGSTSplit​(ParentTxn txn,
                                                     SplitTxn split)
        Find the matching VAT/GST split, if any, for the given split under the given parent txn. Note: Available as of build 312.
      • copyFromSimilarPreviousTxn

        public static final void copyFromSimilarPreviousTxn​(ParentTxn target,
                                                            ParentTxn source,
                                                            boolean adjustAmounts)
        Copies the descriptions/memos, categories and amounts from the given source transaction, optionally adjusting the amounts to match the current target transaction value.
        Parameters:
        target - the transaction to modify based on the categories and descriptions of the source
        source - the transaction from which to get the split information such as descriptions, categories, etc
        adjustAmounts - if true, adjust all split amounts proportionally to match the current target txn value
        Since:
        Moneydance build 895
      • getSecurityPart

        public static final SplitTxn getSecurityPart​(ParentTxn ptxn)
        Get the part of the transaction that goes to a security account.
      • getXfrPart

        public static final SplitTxn getXfrPart​(ParentTxn ptxn)
        Get the part of the transaction that goes to another bank account.
      • getIncomePart

        public static final SplitTxn getIncomePart​(ParentTxn ptxn)
        Get the part of the transaction that is income.
      • getExpensePart

        public static final SplitTxn getExpensePart​(ParentTxn ptxn)
        Get the part of the transaction that is expense.
      • getCommissionPart

        public static final SplitTxn getCommissionPart​(ParentTxn ptxn)
        Get the part of the transaction that doesn't go to a security. (ie. the commission expense).
      • parseCostBasisTag

        public static final java.util.Hashtable<java.lang.String,​java.lang.Long> parseCostBasisTag​(SplitTxn split)
        This is only available on Build 256 and up. This returns the set of buy transactions matched with the given sell transaction. The key is a string with the transaction ID, the value is the number of shares from that transaction.
      • getTxnByID

        public static AbstractTxn getTxnByID​(TxnSet txnSet,
                                             java.lang.String txnID)
      • getNumShares

        public static final long getNumShares​(SplitTxn split)
        As of Build 256. This method returns the number of shares accounted for.
      • getNumShares

        public static final long getNumShares​(TxnSet txnSet,
                                              SplitTxn split)
        As of Build 256. This method returns the number of shares accounted for.
      • setXfrPart

        public static final void setXfrPart​(SplitTxn xfrSplit)
        Tag the given split as the transfer part of its investment transaction. This also un-tags any other splits as the transfer part of the same transaction. [Added in build 302]
      • setCommissionPart

        public static final void setCommissionPart​(SplitTxn commSplit)
        Tag the given split as the commission/fee part of its investment transaction. This also un-tags any other splits as the commission part of the same transaction. [Added in build 302]
      • setSecurityPart

        public static final void setSecurityPart​(SplitTxn secSplit)
        Tag the given split as the security part of its investment transaction. This also un-tags any other splits as the security part of the same transaction. [Added in build 302]
      • setIncomePart

        public static final void setIncomePart​(SplitTxn secSplit)
        Tag the given split as the income part of its investment transaction. This also un-tags any other splits as the income part of the same transaction. [Added in build 302]
      • setExpensePart

        public static final void setExpensePart​(SplitTxn secSplit)
        Tag the given split as the expense part of its investment transaction. This also un-tags any other splits as the expense part of the same transaction. [Added in build 302]
      • wasTxnDownloaded

        public static final boolean wasTxnDownloaded​(AbstractTxn txn)
        Returns true if the given transaction was downloaded, or imported from a downloaded file.
      • txnTouchesInvestment

        public static final boolean txnTouchesInvestment​(AbstractTxn txn)
        Return true iff this transaction is a transfer to, from or within an investment account.
        Since:
        Moneydance build 860
      • txnIsClearedForArchiving

        public static final boolean txnIsClearedForArchiving​(AbstractTxn txn)
        Return whether all parts of the given transaction are cleared for archiving.
        Since:
        Moneydance build 860
      • markOnlineTxnsAsOf

        public static final void markOnlineTxnsAsOf​(java.util.Iterator<AbstractTxn> txns,
                                                    int asOfDate,
                                                    byte statusFlag)
        Mark transactions in the given enumeration with the given status flag if they fall on or before the given date. Note: This method fires a txn-modified event for every transaction that is changed.
      • setRatesInTxn

        public static void setRatesInTxn​(AbstractTxn txn)
        If the given transaction contains any inter-currency (or security to/from currency) elements, adjust the rates based on the the currency and security rate/price tables at the time of the transaction. Note: This is only available in build 794 and later.
      • getListOfAllUsedTransactionTags

        public static final java.util.List<java.lang.String> getListOfAllUsedTransactionTags​(TxnSet txns)
      • mediaTypeForFilename

        public static MediaType mediaTypeForFilename​(java.lang.String filename)
        Return the best guess for the kind of media contained in the given file