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.purap.document.validation.impl;
017    
018    import org.kuali.kfs.module.purap.businessobject.PurApItem;
019    import org.kuali.kfs.module.purap.document.PurchasingAccountsPayableDocument;
020    import org.kuali.kfs.module.purap.document.service.impl.PurapServiceImpl;
021    import org.kuali.kfs.sys.KFSConstants;
022    import org.kuali.kfs.sys.document.validation.GenericValidation;
023    import org.kuali.kfs.sys.document.validation.event.AttributedDocumentEvent;
024    
025    public class PaymentRequestProcessAccountValidation extends GenericValidation {
026    
027    
028        private PurchasingAccountsPayableHasAccountsValidation hasAccountsValidation;
029        private PurchasingAccountsPayableAccountTotalValidation accountTotalValidation;
030        private PurchasingAccountsPayableUniqueAccountingStringsValidation accountingStringsValidation;          
031        private PurApItem itemForValidation;
032        
033        public boolean validate(AttributedDocumentEvent event) {
034            boolean valid = true;
035           
036    
037            hasAccountsValidation.setItemForValidation(itemForValidation);
038            valid &= hasAccountsValidation.validate(event);
039            
040            if(valid){
041    
042                    accountTotalValidation.setItemForValidation(itemForValidation);
043                    
044                    valid &= accountTotalValidation.validate(event);
045    
046            }
047            
048            accountingStringsValidation.setItemForValidation(itemForValidation);
049            valid &= accountingStringsValidation.validate(event);
050            
051            return valid;
052        }
053    
054        public PurchasingAccountsPayableHasAccountsValidation getHasAccountsValidation() {
055            return hasAccountsValidation;
056        }
057    
058        public void setHasAccountsValidation(PurchasingAccountsPayableHasAccountsValidation hasAccountsValidation) {
059            this.hasAccountsValidation = hasAccountsValidation;
060        }
061      
062    
063        public PurchasingAccountsPayableAccountTotalValidation getAccountTotalValidation() {
064            return accountTotalValidation;
065        }
066    
067        public void setAccountTotalValidation(PurchasingAccountsPayableAccountTotalValidation accountTotalValidation) {
068            this.accountTotalValidation = accountTotalValidation;
069        }
070    
071        
072        public PurchasingAccountsPayableUniqueAccountingStringsValidation getAccountingStringsValidation() {
073            return accountingStringsValidation;
074        }
075    
076        public void setAccountingStringsValidation(PurchasingAccountsPayableUniqueAccountingStringsValidation accountingStringsValidation) {
077            this.accountingStringsValidation = accountingStringsValidation;
078        }
079    
080        public PurApItem getItemForValidation() {
081            return itemForValidation;
082        }
083    
084        public void setItemForValidation(PurApItem itemForValidation) {
085            this.itemForValidation = itemForValidation;
086        }
087    
088    }