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.businessobject;
017    
018    import java.sql.Date;
019    import java.util.LinkedHashMap;
020    import java.util.List;
021    
022    import org.kuali.kfs.module.endow.businessobject.defaultvalue.NextTransferNumberFinder;
023    import org.kuali.rice.kns.bo.Inactivateable;
024    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
025    import org.kuali.rice.kns.util.TypedArrayList;
026    
027    public class EndowmentRecurringCashTransfer extends PersistableBusinessObjectBase implements Inactivateable {
028        
029        private static org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(EndowmentRecurringCashTransfer.class);
030        
031        private String transferNumber;
032        private String sourceKemid;
033        private String transactionType;
034        private String sourceEtranCode;
035        private String sourceLineDescription;
036        private String sourceIncomeOrPrincipal;
037        private String frequencyCode;
038        private Date nextProcessDate;
039        private Date lastProcessDate;
040        private boolean active;
041        private Integer targetKemidNextSeqNumber;
042        private Integer targetGlNextSeqNumber;
043        
044        private KEMID kemidObj;
045        private EndowmentTransactionCode etranCodeObj;
046        private IncomePrincipalIndicator incomePrincipalIndicator;
047        private FrequencyCode frequencyCodeObj;
048        
049        private List<EndowmentRecurringCashTransferKEMIDTarget> kemidTarget;
050        private List<EndowmentRecurringCashTransferGLTarget> glTarget;
051        
052        /**
053         * Default constructor.
054         */
055        public EndowmentRecurringCashTransfer() {
056            super();
057            kemidTarget = new TypedArrayList(EndowmentRecurringCashTransferKEMIDTarget.class);
058            glTarget = new TypedArrayList(EndowmentRecurringCashTransferGLTarget.class);
059            
060    //      setTransferNumber(NextTransferNumberFinder.getLongValue().toString());
061        }
062        
063        public String getTransferNumber() {
064            return transferNumber;
065        }
066    
067        public void setTransferNumber(String transferNumber) {
068            this.transferNumber = transferNumber;
069        }
070    
071        public String getSourceKemid() {
072            return sourceKemid;
073        }
074    
075        public void setSourceKemid(String sourceKemid) {
076            this.sourceKemid = sourceKemid;
077        }
078    
079        public String getTransactionType() {
080            return transactionType;
081        }
082    
083        public void setTransactionType(String transactionType) {
084            this.transactionType = transactionType;
085        }
086    
087        public String getSourceEtranCode() {
088            return sourceEtranCode;
089        }
090    
091        public void setSourceEtranCode(String sourceEtranCode) {
092            this.sourceEtranCode = sourceEtranCode;
093        }
094    
095        public String getSourceLineDescription() {
096            return sourceLineDescription;
097        }
098    
099        public void setSourceLineDescription(String sourceLineDescription) {
100            this.sourceLineDescription = sourceLineDescription;
101        }
102    
103        public String getSourceIncomeOrPrincipal() {
104            return sourceIncomeOrPrincipal;
105        }
106    
107        public void setSourceIncomeOrPrincipal(String sourceIncomeOrPrincipal) {
108            this.sourceIncomeOrPrincipal = sourceIncomeOrPrincipal;
109        }
110    
111        public String getFrequencyCode() {
112            return frequencyCode;
113        }
114    
115        public void setFrequencyCode(String frequencyCode) {
116            this.frequencyCode = frequencyCode;
117        }
118    
119        public Date getNextProcessDate() {
120            return nextProcessDate;
121        }
122    
123        public void setNextProcessDate(Date nextProcessDate) {
124            this.nextProcessDate = nextProcessDate;
125        }
126    
127        public Date getLastProcessDate() {
128            return lastProcessDate;
129        }
130    
131        public void setLastProcessDate(Date lastProcessDate) {
132            this.lastProcessDate = lastProcessDate;
133        }
134    
135        public KEMID getKemidObj() {
136            return kemidObj;
137        }
138    
139        public void setKemidObj(KEMID kemidObj) {
140            this.kemidObj = kemidObj;
141        }
142    
143        public EndowmentTransactionCode getEtranCodeObj() {
144            return etranCodeObj;
145        }
146    
147        public void setEtranCodeObj(EndowmentTransactionCode etranCodeObj) {
148            this.etranCodeObj = etranCodeObj;
149        }
150    
151        public IncomePrincipalIndicator getIncomePrincipalIndicator() {
152            return incomePrincipalIndicator;
153        }
154    
155        public void setIncomePrincipalIndicator(IncomePrincipalIndicator incomePrincipalIndicator) {
156            this.incomePrincipalIndicator = incomePrincipalIndicator;
157        }
158    
159        public FrequencyCode getFrequencyCodeObj() {
160            return frequencyCodeObj;
161        }
162    
163        public void setFrequencyCodeObj(FrequencyCode frequencyCodeObj) {
164            this.frequencyCodeObj = frequencyCodeObj;
165        }
166        
167        public boolean isActive() {
168            return active;
169        }
170    
171        public void setActive(boolean active) {
172            this.active = active;
173        }
174    
175        protected LinkedHashMap toStringMapper() {
176            LinkedHashMap m = new LinkedHashMap();
177            m.put("transferNumber", this.transferNumber);
178            return m;
179        }
180        
181        public List<EndowmentRecurringCashTransferKEMIDTarget> getKemidTarget() {
182            return kemidTarget;
183        }
184    
185        public void setKemidTarget(List<EndowmentRecurringCashTransferKEMIDTarget> kemidTarget) {
186            this.kemidTarget = kemidTarget;
187        }
188    
189        public List<EndowmentRecurringCashTransferGLTarget> getGlTarget() {
190            return glTarget;
191        }
192    
193        public void setGlTarget(List<EndowmentRecurringCashTransferGLTarget> glTarget) {
194            this.glTarget = glTarget;
195        }
196    
197        public Integer getTargetKemidNextSeqNumber() {
198            return targetKemidNextSeqNumber;
199        }
200    
201        public void setTargetKemidNextSeqNumber(Integer targetKemidNextSeqNumber) {
202            this.targetKemidNextSeqNumber = targetKemidNextSeqNumber;
203        }
204        
205        public Integer incrementTargetKemidNextSeqNumber() {
206            if (this.targetKemidNextSeqNumber == null) {
207                this.targetKemidNextSeqNumber = 0;
208            }
209            this.targetKemidNextSeqNumber += 1;
210            return targetKemidNextSeqNumber;
211        }
212    
213        public Integer getTargetGlNextSeqNumber() {
214            return targetGlNextSeqNumber;
215        }
216    
217        public void setTargetGlNextSeqNumber(Integer targetGlNextSeqNumber) {
218            this.targetGlNextSeqNumber = targetGlNextSeqNumber;
219        }
220        
221        public Integer incrementTargetGlNextSeqNumber() {
222            if (this.targetGlNextSeqNumber == null) {
223                this.targetGlNextSeqNumber = 0;
224            }
225            this.targetGlNextSeqNumber += 1;
226            return targetGlNextSeqNumber;
227        }
228    }