1 /* 2 * The Kuali Financial System, a comprehensive financial management system for higher education. 3 * 4 * Copyright 2005-2014 The Kuali Foundation 5 * 6 * This program is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU Affero General Public License as 8 * published by the Free Software Foundation, either version 3 of the 9 * License, or (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU Affero General Public License for more details. 15 * 16 * You should have received a copy of the GNU Affero General Public License 17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 package org.kuali.kfs.module.purap.businessobject; 20 21 import java.math.BigDecimal; 22 23 import org.kuali.kfs.sys.businessobject.AccountingLine; 24 import org.kuali.kfs.sys.businessobject.SourceAccountingLine; 25 import org.kuali.rice.core.api.util.type.KualiDecimal; 26 27 /** 28 * Purap Accounting Line Interface. 29 */ 30 public interface PurApAccountingLine extends AccountingLine { 31 32 public abstract Integer getAccountIdentifier(); 33 34 public abstract void setAccountIdentifier(Integer accountIdentifier); 35 36 public abstract Integer getItemIdentifier(); 37 38 public abstract void setItemIdentifier(Integer itemIdentifier); 39 40 public abstract BigDecimal getAccountLinePercent(); 41 42 public abstract void setAccountLinePercent(BigDecimal accountLinePercent); 43 44 public abstract Integer getSequenceNumber(); 45 46 public abstract void setSequenceNumber(Integer sequenceNumber); 47 48 public abstract Integer getPurApSequenceNumber(); 49 50 /** 51 * Determines if the current purap accounting line is in an empty state. 52 * 53 * @return boolean - true if empty state 54 */ 55 public abstract boolean isEmpty(); 56 57 /** 58 * Creates a copy of the current purap accounting line and sets the percentage and the amount to zero. 59 * 60 * @return - purap accounting line copy with blank percent and amount 61 */ 62 public abstract PurApAccountingLine createBlankAmountsCopy(); 63 64 /** 65 * Compares the current accounting line values with a source accounting line to see if both accounting lines are equal. 66 * 67 * @param accountingLine - accounting line to compare 68 * @return boolean - true if passed in and current accounting line are equal, false otherwise 69 */ 70 public abstract boolean accountStringsAreEqual(SourceAccountingLine accountingLine); 71 72 /** 73 * Compares the current accounting line values with a purap accounting line to see if both accounting lines are equal. 74 * 75 * @param accountingLine - accounting line to compare 76 * @return boolean - true if passed in and current accounting line are equal, false otherwise 77 */ 78 public abstract boolean accountStringsAreEqual(PurApAccountingLine accountingLine); 79 80 /** 81 * Creates a source accounting line from the current purap accounting line. 82 * 83 * @return - source accounting line based on current purap accounting line 84 */ 85 public abstract SourceAccountingLine generateSourceAccountingLine(); 86 87 public KualiDecimal getAlternateAmountForGLEntryCreation(); 88 89 public void setAlternateAmountForGLEntryCreation(KualiDecimal alternateAmountForGLEntryCreation); 90 91 public <T extends PurApItem> T getPurapItem(); 92 93 public void setPurapItem(PurApItem item); 94 95 public String getString(); 96 97 public String getPostingPeriodCode(); 98 99 public void setPostingPeriodCode(String postingPeriodCode); 100 101 }