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.businessobject; 017 018 import java.math.BigDecimal; 019 import java.util.List; 020 021 import org.apache.ojb.broker.PersistenceBrokerAware; 022 import org.kuali.kfs.integration.purap.ExternalPurApItem; 023 import org.kuali.kfs.module.purap.document.PurchasingAccountsPayableDocument; 024 import org.kuali.rice.kns.bo.ExternalizableBusinessObject; 025 import org.kuali.rice.kns.bo.PersistableBusinessObject; 026 import org.kuali.rice.kns.util.KualiDecimal; 027 028 /** 029 * Purap Item Business Object. 030 */ 031 public interface PurApItem extends PersistableBusinessObject, PersistenceBrokerAware, PurapEnterableItem, ExternalPurApItem { 032 033 public abstract Integer getItemIdentifier(); 034 035 public abstract void setItemIdentifier(Integer ItemIdentifier); 036 037 public abstract Integer getItemLineNumber(); 038 039 public abstract void setItemLineNumber(Integer itemLineNumber); 040 041 public abstract String getItemUnitOfMeasureCode(); 042 043 public abstract void setItemUnitOfMeasureCode(String itemUnitOfMeasureCode); 044 045 public abstract String getItemCatalogNumber(); 046 047 public abstract void setItemCatalogNumber(String itemCatalogNumber); 048 049 public abstract String getItemDescription(); 050 051 public abstract void setItemDescription(String itemDescription); 052 053 public abstract BigDecimal getItemUnitPrice(); 054 055 public abstract void setItemUnitPrice(BigDecimal itemUnitPrice); 056 057 public abstract String getItemTypeCode(); 058 059 public abstract void setItemTypeCode(String itemTypeCode); 060 061 public abstract String getItemAuxiliaryPartIdentifier(); 062 063 public abstract void setItemAuxiliaryPartIdentifier(String itemAuxiliaryPartIdentifier); 064 065 public abstract String getExternalOrganizationB2bProductReferenceNumber(); 066 067 public abstract void setExternalOrganizationB2bProductReferenceNumber(String externalOrganizationB2bProductReferenceNumber); 068 069 public abstract String getExternalOrganizationB2bProductTypeName(); 070 071 public abstract void setExternalOrganizationB2bProductTypeName(String externalOrganizationB2bProductTypeName); 072 073 public abstract boolean getItemAssignedToTradeInIndicator(); 074 075 public abstract void setItemAssignedToTradeInIndicator(boolean itemAssignedToTradeInIndicator); 076 077 public abstract ItemType getItemType(); 078 079 /** 080 * Sets the itemType attribute. 081 * 082 * @param itemType The itemType to set. 083 * @deprecated 084 */ 085 public abstract void setItemType(ItemType itemType); 086 087 /** 088 * This method resets the transient new account method 089 */ 090 public void resetAccount(); 091 092 public KualiDecimal getExtendedPrice(); 093 094 public KualiDecimal getTotalAmount(); 095 096 public void setTotalAmount(KualiDecimal totalAmount); 097 098 /** 099 * gets the total amount to remit to a vendor 100 * @return pre tax total if use tax post tax if sales 101 */ 102 public KualiDecimal getTotalRemitAmount(); 103 104 public KualiDecimal calculateExtendedPrice(); 105 106 public void setExtendedPrice(KualiDecimal extendedPrice); 107 108 public KualiDecimal getItemTaxAmount(); 109 110 public void setItemTaxAmount(KualiDecimal itemTaxAmount); 111 112 public PurApAccountingLine getNewSourceLine(); 113 114 public void setNewSourceLine(PurApAccountingLine newAccountingLine); 115 116 public abstract Class getAccountingLineClass(); 117 118 public abstract Class getUseTaxClass(); 119 120 public List<PurApAccountingLine> getSourceAccountingLines(); 121 122 public void setSourceAccountingLines(List<PurApAccountingLine> purapAccountingLines); 123 124 public List<PurApAccountingLine> getBaselineSourceAccountingLines(); 125 126 public List<PurApItemUseTax> getUseTaxItems(); 127 128 public void setUseTaxItems(List<PurApItemUseTax> useTaxItems); 129 130 public KualiDecimal getItemQuantity(); 131 132 public void setItemQuantity(KualiDecimal itemQuantity); 133 134 public String getItemIdentifierString(); 135 136 public PurApSummaryItem getSummaryItem(); 137 138 public <T extends PurchasingAccountsPayableDocument> T getPurapDocument(); 139 140 public void setPurapDocument(PurchasingAccountsPayableDocument purapDoc); 141 142 public Integer getPurapDocumentIdentifier(); 143 144 public void setPurapDocumentIdentifier(Integer purapDocumentIdentifier); 145 146 public void fixAccountReferences(); 147 }