001    /**
002     * Copyright 2005-2014 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 edu.sampleu.travel.dataobject;
017    
018    import org.kuali.rice.krad.bo.DataObjectBase;
019    import org.kuali.rice.krad.data.jpa.converters.BooleanYNConverter;
020    import org.kuali.rice.krad.data.jpa.PortableSequenceGenerator;
021    import org.kuali.rice.krad.data.provider.annotation.Description;
022    import org.kuali.rice.krad.data.provider.annotation.Label;
023    import org.kuali.rice.krad.data.provider.annotation.UifAutoCreateViewType;
024    import org.kuali.rice.krad.data.provider.annotation.UifAutoCreateViews;
025    import org.kuali.rice.krad.data.provider.annotation.UifValidCharactersConstraintBeanName;
026    
027    import javax.persistence.Column;
028    import javax.persistence.Convert;
029    import javax.persistence.Entity;
030    import javax.persistence.GeneratedValue;
031    import javax.persistence.Id;
032    import javax.persistence.Table;
033    import javax.persistence.Temporal;
034    import javax.persistence.TemporalType;
035    import java.io.Serializable;
036    import java.math.BigDecimal;
037    import java.util.Date;
038    
039    /**
040     * This class provides the expense items.
041     *
042     * @author Kuali Rice Team (rice.collab@kuali.org)
043     */
044    @Entity
045    @Table(name = "TRVL_EXP_ITM_T")
046    @UifAutoCreateViews({UifAutoCreateViewType.INQUIRY, UifAutoCreateViewType.LOOKUP})
047    public class TravelExpenseItem extends DataObjectBase implements Serializable {
048    
049        private static final long serialVersionUID = -4092206384418712220L;
050    
051        @Id @Column(name = "EXP_ITM_ID", length = 10)
052        @GeneratedValue(generator = "TRVL_EXP_ITM_ID_S")
053        @PortableSequenceGenerator(name = "TRVL_EXP_ITM_ID_S")
054        @Label("Id")
055        @Description("Unique identifier for item")
056        @UifValidCharactersConstraintBeanName("AlphaNumericPatternConstraint")
057        private String travelExpenseItemId;
058    
059        @Column(name = "TRVL_AUTH_DOC_ID")
060        private String travelAuthorizationDocumentId;
061    
062        @Column(name = "TRVL_CO_NM")
063        private String travelCompanyName;
064    
065        @Column(name = "EXP_TYP_CD", length = 10)
066        @Label("Expense Type")
067        @Description("Type of expense")
068        private String travelExpenseTypeCd;
069    
070        @Column(name = "EXP_DESC", length = 10)
071        @Label("Expense Description")
072        @Description("Description of expense")
073        private String expenseDesc;
074    
075        @Temporal(TemporalType.TIMESTAMP)
076        @Column(name = "EXP_DT")
077        @Label("Expense Date")
078        @Description("Date of expense")
079        private Date expenseDate;
080    
081        @Column(name = "EXP_AMT", length = 10)
082        @Label("Expense Amount")
083        @Description("Amount of expense")
084        private BigDecimal expenseAmount;
085    
086        @Column(name = "EXP_REIMB", nullable = false, length = 1)
087        @Convert(converter = BooleanYNConverter.class)
088        @Label("Reimbursable")
089        @Description("Whether expense is reimbursed to traveler")
090        private boolean reimbursable;
091    
092        @Column(name = "EXP_TXBL", nullable = false, length = 1)
093        @Convert(converter = BooleanYNConverter.class)
094        @Label("Taxable")
095        @Description("Whether expense is taxed")
096        private boolean taxable;
097    
098        public String getTravelExpenseItemId() {
099            return travelExpenseItemId;
100        }
101    
102        public void setTravelExpenseItemId(String travelExpenseItemId) {
103            this.travelExpenseItemId = travelExpenseItemId;
104        }
105    
106        public String getTravelAuthorizationDocumentId() {
107            return travelAuthorizationDocumentId;
108        }
109    
110        public void setTravelAuthorizationDocumentId(String travelAuthorizationDocumentId) {
111            this.travelAuthorizationDocumentId = travelAuthorizationDocumentId;
112        }
113    
114        public String getTravelCompanyName() {
115            return travelCompanyName;
116        }
117    
118        public void setTravelCompanyName(String travelCompanyName) {
119            this.travelCompanyName = travelCompanyName;
120        }
121    
122        public String getTravelExpenseTypeCd() {
123            return travelExpenseTypeCd;
124        }
125    
126        public void setTravelExpenseTypeCd(String travelExpenseTypeCd) {
127            this.travelExpenseTypeCd = travelExpenseTypeCd;
128        }
129    
130        public String getExpenseDesc() {
131            return expenseDesc;
132        }
133    
134        public void setExpenseDesc(String expenseDesc) {
135            this.expenseDesc = expenseDesc;
136        }
137    
138        public Date getExpenseDate() {
139            return expenseDate;
140        }
141    
142        public void setExpenseDate(Date expenseDate) {
143            this.expenseDate = expenseDate;
144        }
145    
146        public BigDecimal getExpenseAmount() {
147            return expenseAmount;
148        }
149    
150        public void setExpenseAmount(BigDecimal expenseAmount) {
151            this.expenseAmount = expenseAmount;
152        }
153    
154        public boolean isReimbursable() {
155            return reimbursable;
156        }
157    
158        public void setReimbursable(boolean reimbursable) {
159            this.reimbursable = reimbursable;
160        }
161    
162        public boolean isTaxable() {
163            return taxable;
164        }
165    
166        public void setTaxable(boolean taxable) {
167            this.taxable = taxable;
168        }
169    }