001/**
002 * Copyright 2004-2014 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 */
016package org.kuali.kpme.pm.api.position.funding;
017
018import org.kuali.kpme.pm.api.position.PositionDerivedContract;
019import java.math.BigDecimal;
020
021/**
022 * <p>PositionFundingContract interface</p>
023 *
024 */
025public interface PositionFundingContract extends PositionDerivedContract {
026
027    /**
028     * The primary key for a PositionFunding entry saved in the database
029     *
030     * <p>
031     * pmPositionFunctionId of a PositionFunding.
032     * <p>
033     *
034     * @return pmPositionFunctionId for PositionFunding
035     */
036        public String getPmPositionFunctionId();
037
038
039    /**
040     * The source associated with the PositionFunding
041     *
042     * <p>
043     * source of a PositionFunding.
044     * <p>
045     *
046     * @return source for PositionFunding
047     */
048        public String getSource();
049
050    /**
051     * The chart associated with the PositionFunding
052     *
053     * <p>
054     * chart of a PositionFunding.
055     * <p>
056     *
057     * @return chart for PositionFunding
058     */
059        public String getChart();
060
061    /**
062     * The organization associated with the PositionFunding
063     *
064     * <p>
065     * org of a PositionFunding.
066     * <p>
067     *
068     * @return org for PositionFunding
069     */
070        public String getOrg();
071
072    /**
073     * The account associated with the PositionFunding
074     *
075     * <p>
076     * The account component of the chart of accounts to be charged when time recorded against this work area and task
077     * <p>
078     *
079     * @return account for PositionFunding
080     */
081        public String getAccount();
082
083    /**
084     * The subAccount associated with the PositionFunding
085     *
086     * <p>
087     * The sub-account component of the chart of accounts to be charged when time recorded against this work area and task
088     * <p>
089     *
090     * @return subAccount for PositionFunding
091     */
092        public String getSubAccount();
093
094    /**
095     * The object code associated with the PositionFunding
096     *
097     * <p>
098     * The Object code component of the chart of accounts to be charged when time recorded against this work area and task.
099     * <p>
100     *
101     * @return objectCode for PositionFunding
102     */
103        public String getObjectCode();
104
105    /**
106     * The subObjectCode associated with the PositionFunding
107     *
108     * <p>
109     * The sub-object component of the chart of accounts to be charged when time recorded against this work area and task.
110     * <p>
111     *
112     * @return subObjectCode for PositionFunding
113     */
114        public String getSubObjectCode();
115
116    /**
117     * The organization reference code associated with the PositionFunding
118     *
119     * <p>
120     * orgRefCode of a PositionFunding.
121     * <p>
122     *
123     * @return orgRefCode for PositionFunding
124     */
125        public String getOrgRefCode();
126
127    /**
128     * The Percentage that the account will be used to fund the position
129     *
130     * <p>
131     * percent of a PositionFunding.
132     * <p>
133     *
134     * @return percent for PositionFunding
135     */
136        public BigDecimal getPercent();
137
138    /**
139     * The amount to be funded
140     *
141     * <p>
142     * amount of a PositionFunding.
143     * <p>
144     *
145     * @return amount for PositionFunding
146     */
147        public BigDecimal getAmount();
148
149    /**
150     * The flag used to indicate account priority
151     *
152     * <p>
153     * priorityFlag of a PositionFunding.
154     * <p>
155     *
156     * @return priorityFlag for PositionFunding
157     */
158        public boolean isPriorityFlag();
159        
160}