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 }