001    /*
002     * Copyright 2011 The Kuali Foundation.
003     * 
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     * 
008     * http://www.opensource.org/licenses/ecl2.php
009     * 
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.kfs.fp.document;
017    
018    import org.kuali.kfs.sys.document.AccountingDocument;
019    import org.kuali.rice.kns.util.KualiDecimal;
020    
021    /**
022     * Interface for voucher type documents that require debit/credit support
023     */
024    public interface VoucherDocument extends AccountingDocument {
025    
026        /**
027         * This method retrieves the reversal date associated with this document.
028         * 
029         * @return java.sql.Date
030         */
031        public java.sql.Date getReversalDate();
032    
033        /**
034         * This method sets the reversal date associated with this document.
035         * 
036         * @param reversalDate
037         */
038        public void setReversalDate(java.sql.Date reversalDate);
039    
040        /**
041         * This method calculates the debit total for a voucher document keying off of the debit/debit code, only summing the accounting
042         * lines with a debitDebitCode that matched the debit constant, and returns the results.
043         * 
044         * @return KualiDecimal
045         */
046        public KualiDecimal getDebitTotal();
047    
048        /**
049         * This method calculates the credit total for a voucher document keying off of the debit/credit code, only summing the
050         * accounting lines with a debitCreditCode that matched the debit constant, and returns the results.
051         * 
052         * @return KualiDecimal
053         */
054        public KualiDecimal getCreditTotal();
055    }