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 java.util.List;
019    
020    import org.kuali.kfs.module.endow.businessobject.EndowmentAccountingLineParser;
021    import org.kuali.kfs.module.endow.businessobject.SourceEndowmentAccountingLine;
022    import org.kuali.kfs.module.endow.businessobject.TargetEndowmentAccountingLine;
023    
024    public interface EndowmentAccountingLinesDocument extends EndowmentTransactionLinesDocument {
025    
026        /**
027         * Gets the nextSourceAccountingLineNumber.
028         * 
029         * @return nextSourceAccountingLineNumber
030         */
031        public Integer getNextSourceAccountingLineNumber();
032    
033        /**
034         * Sets the nextSourceAccountingLineNumber.
035         * 
036         * @param nextSourceAccountingLineNumber
037         */
038        public void setNextSourceAccountingLineNumber(Integer nextSourceAccountingLineNumber);
039    
040        /**
041         * Gets the nextTargetAccountingLineNumber.
042         * 
043         * @return nextTargetAccountingLineNumber
044         */
045        public Integer getNextTargetAccountingLineNumber();
046    
047        /**
048         * Sets the nextTargetAccountingLineNumber.
049         * 
050         * @param nextTargetAccountingLineNumber
051         */
052        public void setNextTargetAccountingLineNumber(Integer nextTargetAccountingLineNumber);
053    
054        /**
055         * Gets the sourceAccountingLines.
056         * 
057         * @return sourceAccountingLines
058         */
059        public List<SourceEndowmentAccountingLine> getSourceAccountingLines();
060    
061        /**
062         * Sets the sourceAccountingLines.
063         * 
064         * @param sourceAccountingLines
065         */
066        public void setSourceAccountingLines(List<SourceEndowmentAccountingLine> sourceAccountingLines);
067    
068        /**
069         * Gets the targetAccountingLines.
070         * 
071         * @return targetAccountingLines
072         */
073        public List<TargetEndowmentAccountingLine> getTargetAccountingLines();
074    
075        /**
076         * Sets the targetAccountingLines.
077         * 
078         * @param targetAccountingLines
079         */
080        public void setTargetAccountingLines(List<TargetEndowmentAccountingLine> targetAccountingLines);
081    
082    
083        /**
084         * Adds a new Source accounting line.
085         * 
086         * @param line
087         */
088        public void addSourceAccountingLine(SourceEndowmentAccountingLine line);
089    
090    
091        /**
092         * Adds a new Target Accounting line.
093         * 
094         * @param line
095         */
096        public void addTargetAccountingLine(TargetEndowmentAccountingLine line);
097    
098        /**
099         * This method returns the accounting line at a particular spot in the overall list of accounting lines.
100         * 
101         * @param index
102         * @return The source accounting line at the specified index.
103         */
104        public SourceEndowmentAccountingLine getSourceAccountingLine(int index);
105    
106        /**
107         * This method retrieves the target accounting line at the specified index.
108         * 
109         * @param index
110         * @return The target accounting line at the passed in index.
111         */
112        public TargetEndowmentAccountingLine getTargetAccountingLine(int index);
113    
114        /**
115         * @return EndowmentAccountingLineParser instance appropriate for importing AccountingLines for this document type
116         */
117        public EndowmentAccountingLineParser getEndowmentAccountingLineParser();
118    
119        /*
120         * @return Class of the document's source accounting lines
121         */
122        public Class getSourceAccountingLineClass();
123    
124    
125        /*
126         * @return Class of the document's target accounting lines
127         */
128        public Class getTargetAccountingLineClass();
129    
130    }