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.module.endow.document;
017    
018    import org.kuali.kfs.sys.document.FinancialSystemTransactionalDocument;
019    
020    /**
021     * This defines methods common for all endowment transactional documents.
022     */
023    public interface EndowmentTransactionalDocument extends FinancialSystemTransactionalDocument {
024    
025        /**
026         * Gets the transaction sub-type code
027         * 
028         * @return transaction sub-type code
029         */
030        public String getTransactionSubTypeCode();
031    
032        /**
033         * Sets the transaction sub-type code
034         * 
035         * @param transactionSubTypeCode
036         */
037        public void setTransactionSubTypeCode(String transactionSubTypeCode);
038    
039        /**
040         * Gets the transaction source type code
041         * 
042         * @return transaction source type code
043         */
044        public String getTransactionSourceTypeCode();
045    
046        /**
047         * Sets the transaction source type code
048         * 
049         * @param transactionSourceTypeCode
050         */
051        public void setTransactionSourceTypeCode(String transactionSourceTypeCode);
052    
053        /**
054         * Gets the transaction posted flag.
055         * 
056         * @return true of false depending on whether the transactions on this document have been posted or not
057         */
058        public boolean isTransactionPosted();
059    
060        /**
061         * Sets the transaction posted flag.
062         * 
063         * @param transactionPosted the value to be set
064         */
065        public void setTransactionPosted(boolean transactionPosted);
066    
067        /**
068         * This method return true if the document is error corrected.
069         * @return
070         */
071        public boolean isErrorCorrectedDocument();
072        
073        /**
074         * This is a hook into those batch processes that will generate eDocs should call 
075         * this method to set the value of noRouteIndicator based on the value of 
076         * NO_ROUTE_IND System parameter.
077         * 
078         * @param noRouteIndicator the value to be set
079         */
080        public void setNoRouteIndicator(boolean noRouteIndicator);
081    }