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.ar.businessobject;
017    
018    import java.math.BigDecimal;
019    import java.util.LinkedHashMap;
020    
021    import org.kuali.kfs.coa.businessobject.Account;
022    import org.kuali.kfs.coa.businessobject.Chart;
023    import org.kuali.kfs.coa.businessobject.ObjectCodeCurrent;
024    import org.kuali.kfs.coa.businessobject.Organization;
025    import org.kuali.kfs.coa.businessobject.ProjectCode;
026    import org.kuali.kfs.coa.businessobject.SubAccount;
027    import org.kuali.kfs.coa.businessobject.SubObjectCodeCurrent;
028    import org.kuali.rice.kns.bo.Inactivateable;
029    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
030    import org.kuali.rice.kns.util.KualiDecimal;
031    
032    /**
033     * @author Kuali Nervous System Team (kualidev@oncourse.iu.edu)
034     */
035    public class CustomerInvoiceItemCode extends PersistableBusinessObjectBase implements Inactivateable {
036    
037            private String chartOfAccountsCode;
038            private String organizationCode;
039            private String invoiceItemCode;
040            private String invoiceItemDescription;
041            private String relatedStockNumber;
042            private String defaultInvoiceChartOfAccountsCode;
043            private String defaultInvoiceAccountNumber;
044            private String defaultInvoiceSubAccountNumber;
045            private String defaultInvoiceFinancialObjectCode;
046            private String defaultInvoiceFinancialSubObjectCode;
047            private String defaultInvoiceProjectCode;
048            private String defaultInvoiceOrganizationReferenceIdentifier;
049            private KualiDecimal itemDefaultPrice;
050            private String defaultUnitOfMeasureCode;
051            private BigDecimal itemDefaultQuantity;
052            private boolean active;
053            private boolean taxableIndicator;
054    
055        private Chart chartOfAccounts;
056            private Organization organization;
057            private Account defaultInvoiceAccount;
058            private SubAccount defaultInvoiceSubAccount;
059            private Chart defaultInvoiceChartOfAccounts;
060        private ObjectCodeCurrent defaultInvoiceFinancialObject;
061        private SubObjectCodeCurrent defaultInvoiceFinancialSubObject;
062            private ProjectCode defaultInvoiceProject;
063    
064            /**
065             * Default constructor.
066             */
067            public CustomerInvoiceItemCode() {
068            }
069    
070            /**
071             * Gets the chartOfAccountsCode attribute.
072             * 
073             * @return Returns the chartOfAccountsCode
074             * 
075             */
076            public String getChartOfAccountsCode() { 
077                    return chartOfAccountsCode;
078            }
079    
080            /**
081             * Sets the chartOfAccountsCode attribute.
082             * 
083             * @param chartOfAccountsCode The chartOfAccountsCode to set.
084             * 
085             */
086            public void setChartOfAccountsCode(String chartOfAccountsCode) {
087                    this.chartOfAccountsCode = chartOfAccountsCode;
088            }
089    
090    
091            /**
092             * Gets the organizationCode attribute.
093             * 
094             * @return Returns the organizationCode
095             * 
096             */
097            public String getOrganizationCode() { 
098                    return organizationCode;
099            }
100    
101            /**
102             * Sets the organizationCode attribute.
103             * 
104             * @param organizationCode The organizationCode to set.
105             * 
106             */
107            public void setOrganizationCode(String organizationCode) {
108                    this.organizationCode = organizationCode;
109            }
110    
111    
112            /**
113             * Gets the invoiceItemCode attribute.
114             * 
115             * @return Returns the invoiceItemCode
116             * 
117             */
118            public String getInvoiceItemCode() { 
119                    return invoiceItemCode;
120            }
121    
122            /**
123             * Sets the invoiceItemCode attribute.
124             * 
125             * @param invoiceItemCode The invoiceItemCode to set.
126             * 
127             */
128            public void setInvoiceItemCode(String invoiceItemCode) {
129                    this.invoiceItemCode = invoiceItemCode;
130            }
131    
132    
133            /**
134             * Gets the invoiceItemDescription attribute.
135             * 
136             * @return Returns the invoiceItemDescription
137             * 
138             */
139            public String getInvoiceItemDescription() { 
140                    return invoiceItemDescription;
141            }
142    
143            /**
144             * Sets the invoiceItemDescription attribute.
145             * 
146             * @param invoiceItemDescription The invoiceItemDescription to set.
147             * 
148             */
149            public void setInvoiceItemDescription(String invoiceItemDescription) {
150                    this.invoiceItemDescription = invoiceItemDescription;
151            }
152    
153    
154            /**
155             * Gets the relatedStockNumber attribute.
156             * 
157             * @return Returns the relatedStockNumber
158             * 
159             */
160            public String getRelatedStockNumber() { 
161                    return relatedStockNumber;
162            }
163    
164            /**
165             * Sets the relatedStockNumber attribute.
166             * 
167             * @param relatedStockNumber The relatedStockNumber to set.
168             * 
169             */
170            public void setRelatedStockNumber(String relatedStockNumber) {
171                    this.relatedStockNumber = relatedStockNumber;
172            }
173    
174    
175            /**
176             * Gets the defaultInvoiceChartOfAccountsCode attribute.
177             * 
178             * @return Returns the defaultInvoiceChartOfAccountsCode
179             * 
180             */
181            public String getDefaultInvoiceChartOfAccountsCode() { 
182                    return defaultInvoiceChartOfAccountsCode;
183            }
184    
185            /**
186             * Sets the defaultInvoiceChartOfAccountsCode attribute.
187             * 
188             * @param defaultInvoiceChartOfAccountsCode The defaultInvoiceChartOfAccountsCode to set.
189             * 
190             */
191            public void setDefaultInvoiceChartOfAccountsCode(String defaultInvoiceChartOfAccountsCode) {
192                    this.defaultInvoiceChartOfAccountsCode = defaultInvoiceChartOfAccountsCode;
193            }
194    
195    
196            /**
197             * Gets the defaultInvoiceAccountNumber attribute.
198             * 
199             * @return Returns the defaultInvoiceAccountNumber
200             * 
201             */
202            public String getDefaultInvoiceAccountNumber() { 
203                    return defaultInvoiceAccountNumber;
204            }
205    
206            /**
207             * Sets the defaultInvoiceAccountNumber attribute.
208             * 
209             * @param defaultInvoiceAccountNumber The defaultInvoiceAccountNumber to set.
210             * 
211             */
212            public void setDefaultInvoiceAccountNumber(String defaultInvoiceAccountNumber) {
213                    this.defaultInvoiceAccountNumber = defaultInvoiceAccountNumber;
214            }
215    
216    
217            /**
218             * Gets the defaultInvoiceSubAccountNumber attribute.
219             * 
220             * @return Returns the defaultInvoiceSubAccountNumber
221             * 
222             */
223            public String getDefaultInvoiceSubAccountNumber() { 
224                    return defaultInvoiceSubAccountNumber;
225            }
226    
227            /**
228             * Sets the defaultInvoiceSubAccountNumber attribute.
229             * 
230             * @param defaultInvoiceSubAccountNumber The defaultInvoiceSubAccountNumber to set.
231             * 
232             */
233            public void setDefaultInvoiceSubAccountNumber(String defaultInvoiceSubAccountNumber) {
234                    this.defaultInvoiceSubAccountNumber = defaultInvoiceSubAccountNumber;
235            }
236    
237    
238            /**
239             * Gets the defaultInvoiceFinancialObjectCode attribute.
240             * 
241             * @return Returns the defaultInvoiceFinancialObjectCode
242             * 
243             */
244            public String getDefaultInvoiceFinancialObjectCode() { 
245                    return defaultInvoiceFinancialObjectCode;
246            }
247    
248            /**
249             * Sets the defaultInvoiceFinancialObjectCode attribute.
250             * 
251             * @param defaultInvoiceFinancialObjectCode The defaultInvoiceFinancialObjectCode to set.
252             * 
253             */
254            public void setDefaultInvoiceFinancialObjectCode(String defaultInvoiceFinancialObjectCode) {
255                    this.defaultInvoiceFinancialObjectCode = defaultInvoiceFinancialObjectCode;
256            }
257    
258    
259            /**
260             * Gets the defaultInvoiceFinancialSubObjectCode attribute.
261             * 
262             * @return Returns the defaultInvoiceFinancialSubObjectCode
263             * 
264             */
265            public String getDefaultInvoiceFinancialSubObjectCode() { 
266                    return defaultInvoiceFinancialSubObjectCode;
267            }
268    
269            /**
270             * Sets the defaultInvoiceFinancialSubObjectCode attribute.
271             * 
272             * @param defaultInvoiceFinancialSubObjectCode The defaultInvoiceFinancialSubObjectCode to set.
273             * 
274             */
275            public void setDefaultInvoiceFinancialSubObjectCode(String defaultInvoiceFinancialSubObjectCode) {
276                    this.defaultInvoiceFinancialSubObjectCode = defaultInvoiceFinancialSubObjectCode;
277            }
278    
279    
280            /**
281             * Gets the defaultInvoiceProjectCode attribute.
282             * 
283             * @return Returns the defaultInvoiceProjectCode
284             * 
285             */
286            public String getDefaultInvoiceProjectCode() { 
287                    return defaultInvoiceProjectCode;
288            }
289    
290            /**
291             * Sets the defaultInvoiceProjectCode attribute.
292             * 
293             * @param defaultInvoiceProjectCode The defaultInvoiceProjectCode to set.
294             * 
295             */
296            public void setDefaultInvoiceProjectCode(String defaultInvoiceProjectCode) {
297                    this.defaultInvoiceProjectCode = defaultInvoiceProjectCode;
298            }
299    
300    
301            /**
302             * Gets the defaultInvoiceOrganizationReferenceIdentifier attribute.
303             * 
304             * @return Returns the defaultInvoiceOrganizationReferenceIdentifier
305             * 
306             */
307            public String getDefaultInvoiceOrganizationReferenceIdentifier() { 
308                    return defaultInvoiceOrganizationReferenceIdentifier;
309            }
310    
311            /**
312             * Sets the defaultInvoiceOrganizationReferenceIdentifier attribute.
313             * 
314             * @param defaultInvoiceOrganizationReferenceIdentifier The defaultInvoiceOrganizationReferenceIdentifier to set.
315             * 
316             */
317            public void setDefaultInvoiceOrganizationReferenceIdentifier(String defaultInvoiceOrganizationReferenceIdentifier) {
318                    this.defaultInvoiceOrganizationReferenceIdentifier = defaultInvoiceOrganizationReferenceIdentifier;
319            }
320    
321    
322            /**
323             * Gets the itemDefaultPrice attribute.
324             * 
325             * @return Returns the itemDefaultPrice
326             * 
327             */
328            public KualiDecimal getItemDefaultPrice() { 
329                    return itemDefaultPrice;
330            }
331    
332            /**
333             * Sets the itemDefaultPrice attribute.
334             * 
335             * @param itemDefaultPrice The itemDefaultPrice to set.
336             * 
337             */
338            public void setItemDefaultPrice(KualiDecimal itemDefaultPrice) {
339                    this.itemDefaultPrice = itemDefaultPrice;
340            }
341    
342    
343            /**
344             * Gets the defaultUnitOfMeasureCode attribute.
345             * 
346             * @return Returns the defaultUnitOfMeasureCode
347             * 
348             */
349            public String getDefaultUnitOfMeasureCode() { 
350                    return defaultUnitOfMeasureCode;
351            }
352    
353            /**
354             * Sets the defaultUnitOfMeasureCode attribute.
355             * 
356             * @param defaultUnitOfMeasureCode The defaultUnitOfMeasureCode to set.
357             * 
358             */
359            public void setDefaultUnitOfMeasureCode(String defaultUnitOfMeasureCode) {
360                    this.defaultUnitOfMeasureCode = defaultUnitOfMeasureCode;
361            }
362    
363    
364            /**
365             * Gets the itemDefaultQuantity attribute.
366             * 
367             * @return Returns the itemDefaultQuantity
368             * 
369             */
370            public BigDecimal getItemDefaultQuantity() { 
371                    return itemDefaultQuantity;
372            }
373    
374            /**
375             * Sets the itemDefaultQuantity attribute.
376             * 
377             * @param itemDefaultQuantity The itemDefaultQuantity to set.
378             * 
379             */
380            public void setItemDefaultQuantity(BigDecimal itemDefaultQuantity) {
381                    this.itemDefaultQuantity = itemDefaultQuantity;
382            }
383    
384    
385            /**
386             * Gets the active attribute.
387             * 
388             * @return Returns the active
389             * 
390             */
391            public boolean isActive() { 
392                    return active;
393            }
394    
395            /**
396             * Sets the active attribute.
397             * 
398             * @param active The active to set.
399             * 
400             */
401            public void setActive(boolean active) {
402                    this.active = active;
403            }
404    
405    
406        public boolean isTaxableIndicator() {
407            return taxableIndicator;
408        }
409    
410        public void setTaxableIndicator(boolean taxableIndicator) {
411            this.taxableIndicator = taxableIndicator;
412        }
413    
414            /**
415             * Gets the chartOfAccounts attribute.
416             * 
417             * @return Returns the chartOfAccounts
418             * 
419             */
420            public Chart getChartOfAccounts() { 
421                    return chartOfAccounts;
422            }
423    
424            /**
425             * Sets the chartOfAccounts attribute.
426             * 
427             * @param chartOfAccounts The chartOfAccounts to set.
428             * @deprecated
429             */
430            public void setChartOfAccounts(Chart chartOfAccounts) {
431                    this.chartOfAccounts = chartOfAccounts;
432            }
433    
434            /**
435             * Gets the organization attribute.
436             * 
437             * @return Returns the organization
438             * 
439             */
440            public Organization getOrganization() { 
441                    return organization;
442            }
443    
444            /**
445             * Sets the organization attribute.
446             * 
447             * @param organization The organization to set.
448             * @deprecated
449             */
450            public void setOrganization(Organization organization) {
451                    this.organization = organization;
452            }
453    
454            /**
455             * Gets the defaultInvoiceAccount attribute.
456             * 
457             * @return Returns the defaultInvoiceAccount
458             * 
459             */
460            public Account getDefaultInvoiceAccount() { 
461                    return defaultInvoiceAccount;
462            }
463    
464            /**
465             * Sets the defaultInvoiceAccount attribute.
466             * 
467             * @param defaultInvoiceAccount The defaultInvoiceAccount to set.
468             * @deprecated
469             */
470            public void setDefaultInvoiceAccount(Account defaultInvoiceAccount) {
471                    this.defaultInvoiceAccount = defaultInvoiceAccount;
472            }
473    
474            /**
475             * Gets the defaultInvoiceSubAccount attribute.
476             * 
477             * @return Returns the defaultInvoiceSubAccount
478             * 
479             */
480            public SubAccount getDefaultInvoiceSubAccount() { 
481                    return defaultInvoiceSubAccount;
482            }
483    
484            /**
485             * Sets the defaultInvoiceSubAccount attribute.
486             * 
487             * @param defaultInvoiceSubAccount The defaultInvoiceSubAccount to set.
488             * @deprecated
489             */
490            public void setDefaultInvoiceSubAccount(SubAccount defaultInvoiceSubAccount) {
491                    this.defaultInvoiceSubAccount = defaultInvoiceSubAccount;
492            }
493    
494            /**
495             * Gets the defaultInvoiceChartOfAccounts attribute.
496             * 
497             * @return Returns the defaultInvoiceChartOfAccounts
498             * 
499             */
500            public Chart getDefaultInvoiceChartOfAccounts() { 
501                    return defaultInvoiceChartOfAccounts;
502            }
503    
504            /**
505             * Sets the defaultInvoiceChartOfAccounts attribute.
506             * 
507             * @param defaultInvoiceChartOfAccounts The defaultInvoiceChartOfAccounts to set.
508             * @deprecated
509             */
510            public void setDefaultInvoiceChartOfAccounts(Chart defaultInvoiceChartOfAccounts) {
511                    this.defaultInvoiceChartOfAccounts = defaultInvoiceChartOfAccounts;
512            }
513    
514        /**
515         * Gets the defaultInvoiceFinancialObject attribute. 
516         * @return Returns the defaultInvoiceFinancialObject.
517         */
518        public ObjectCodeCurrent getDefaultInvoiceFinancialObject() {
519            return defaultInvoiceFinancialObject;
520        }
521    
522        /**
523         * Sets the defaultInvoiceFinancialObject attribute value.
524         * @param defaultInvoiceFinancialObject The defaultInvoiceFinancialObject to set.
525         * @deprecated
526         */
527        public void setDefaultInvoiceFinancialObject(ObjectCodeCurrent defaultInvoiceFinancialObject) {
528            this.defaultInvoiceFinancialObject = defaultInvoiceFinancialObject;
529        }    
530        
531            /**
532             * Gets the defaultInvoiceFinancialSubObject attribute.
533             * 
534             * @return Returns the defaultInvoiceFinancialSubObject
535             * 
536             */
537            public SubObjectCodeCurrent getDefaultInvoiceFinancialSubObject() { 
538                    return defaultInvoiceFinancialSubObject;
539            }
540    
541            /**
542             * Sets the defaultInvoiceFinancialSubObject attribute.
543             * 
544             * @param defaultInvoiceFinancialSubObject The defaultInvoiceFinancialSubObject to set.
545             * @deprecated
546             */
547            public void setDefaultInvoiceFinancialSubObject(SubObjectCodeCurrent defaultInvoiceFinancialSubObject) {
548                    this.defaultInvoiceFinancialSubObject = defaultInvoiceFinancialSubObject;
549            }
550    
551            /**
552             * Gets the defaultInvoiceProject attribute.
553             * 
554             * @return Returns the defaultInvoiceProject
555             * 
556             */
557            public ProjectCode getDefaultInvoiceProject() { 
558                    return defaultInvoiceProject;
559            }
560    
561            /**
562             * Sets the defaultInvoiceProject attribute.
563             * 
564             * @param defaultInvoiceProject The defaultInvoiceProject to set.
565             * @deprecated
566             */
567            public void setDefaultInvoiceProject(ProjectCode defaultInvoiceProject) {
568                    this.defaultInvoiceProject = defaultInvoiceProject;
569            }
570    
571            /**
572             * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
573             */
574        @SuppressWarnings("unchecked")
575            protected LinkedHashMap toStringMapper() {
576                LinkedHashMap m = new LinkedHashMap();          
577            m.put("chartOfAccountsCode", this.chartOfAccountsCode);
578            m.put("organizationCode", this.organizationCode);
579            m.put("invoiceItemCode", this.invoiceItemCode);
580                return m;
581        }
582    
583    }