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.bc.document.validation.event;
017    
018    import org.kuali.kfs.module.bc.businessobject.PendingBudgetConstructionGeneralLedger;
019    import org.kuali.kfs.module.bc.document.BudgetConstructionDocument;
020    import org.kuali.kfs.module.bc.document.validation.AddPendingBudgetGeneralLedgerLineRule;
021    import org.kuali.rice.kns.document.Document;
022    import org.kuali.rice.kns.rule.BusinessRule;
023    import org.kuali.rice.kns.rule.event.KualiDocumentEventBase;
024    
025    /**
026     * Defines the add new line event for revenue or expenditure tab on the Budget Construction Document.
027     */
028    public class AddPendingBudgetGeneralLedgerLineEvent extends KualiDocumentEventBase {
029        private BudgetConstructionDocument budgetConstructionDocument;
030        private PendingBudgetConstructionGeneralLedger pendingBudgetConstructionGeneralLedger;
031        private boolean isRevenue;
032    
033        /**
034         * Constructs a AddPendingBudgetGeneralLedgerLineEvent.java.
035         * 
036         * @param errorPathPrefix
037         * @param document
038         * @param pendingBudgetConstructionGeneralLedger
039         * @param isRev
040         */
041        public AddPendingBudgetGeneralLedgerLineEvent(String errorPathPrefix, Document document, PendingBudgetConstructionGeneralLedger pendingBudgetConstructionGeneralLedger, boolean isRev) {
042            super("", errorPathPrefix, document);
043            this.pendingBudgetConstructionGeneralLedger = pendingBudgetConstructionGeneralLedger;
044            this.budgetConstructionDocument = (BudgetConstructionDocument) document;
045            this.isRevenue = isRev;
046        }
047    
048        /**
049         * @see org.kuali.rice.kns.rule.event.KualiDocumentEvent#getRuleInterfaceClass()
050         */
051        public Class getRuleInterfaceClass() {
052            return AddPendingBudgetGeneralLedgerLineRule.class;
053        }
054    
055        /**
056         * @see org.kuali.rice.kns.rule.event.KualiDocumentEvent#invokeRuleMethod(org.kuali.rice.kns.rule.BusinessRule)
057         */
058        public boolean invokeRuleMethod(BusinessRule rule) {
059            return ((AddPendingBudgetGeneralLedgerLineRule) rule).processAddPendingBudgetGeneralLedgerLineRules(budgetConstructionDocument, pendingBudgetConstructionGeneralLedger, isRevenue);
060        }
061    
062        /**
063         * @see org.kuali.rice.kns.rule.event.KualiDocumentEventBase#validate()
064         */
065        @Override
066        public void validate() {
067    
068            super.validate();
069        }
070    
071        /**
072         * Gets the budgetConstructionDocument attribute.
073         * 
074         * @return Returns the budgetConstructionDocument.
075         */
076        public BudgetConstructionDocument getBudgetConstructionDocument() {
077            return budgetConstructionDocument;
078        }
079    
080        /**
081         * Sets the budgetConstructionDocument attribute value.
082         * 
083         * @param budgetConstructionDocument The budgetConstructionDocument to set.
084         */
085        public void setBudgetConstructionDocument(BudgetConstructionDocument budgetConstructionDocument) {
086            this.budgetConstructionDocument = budgetConstructionDocument;
087        }
088    
089        /**
090         * Gets the pendingBudgetConstructionGeneralLedger attribute.
091         * 
092         * @return Returns the pendingBudgetConstructionGeneralLedger.
093         */
094        public PendingBudgetConstructionGeneralLedger getPendingBudgetConstructionGeneralLedger() {
095            return pendingBudgetConstructionGeneralLedger;
096        }
097    
098        /**
099         * Sets the pendingBudgetConstructionGeneralLedger attribute value.
100         * 
101         * @param pendingBudgetConstructionGeneralLedger The pendingBudgetConstructionGeneralLedger to set.
102         */
103        public void setPendingBudgetConstructionGeneralLedger(PendingBudgetConstructionGeneralLedger pendingBudgetConstructionGeneralLedger) {
104            this.pendingBudgetConstructionGeneralLedger = pendingBudgetConstructionGeneralLedger;
105        }
106    
107    
108    }