001// --------------------------------------------------------------------------------
002// Copyright 2002-2024 Echo Three, LLC
003//
004// Licensed under the Apache 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.apache.org/licenses/LICENSE-2.0
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
017package com.echothree.model.control.invoice.common.transfer;
018
019import com.echothree.model.control.accounting.common.transfer.GlAccountTransfer;
020import com.echothree.model.control.payment.common.transfer.BillingAccountTransfer;
021import com.echothree.model.control.term.common.transfer.TermTransfer;
022import com.echothree.model.control.workflow.common.transfer.WorkflowEntityStatusTransfer;
023import com.echothree.util.common.transfer.BaseTransfer;
024import com.echothree.util.common.transfer.ListWrapper;
025import com.echothree.util.common.transfer.MapWrapper;
026
027public class InvoiceTransfer
028        extends BaseTransfer {
029    
030    private InvoiceTypeTransfer invoiceType;
031    private String invoiceName;
032    private BillingAccountTransfer billingAccount;
033    private GlAccountTransfer glAccount;
034    private TermTransfer term;
035    private String reference;
036    private String description;
037    private WorkflowEntityStatusTransfer invoiceStatus;
038    
039    private MapWrapper<InvoiceTimeTransfer> invoiceTimes;
040    private MapWrapper<InvoiceRoleTransfer> invoiceRoles;
041    private ListWrapper<InvoiceLineTransfer> invoiceLines;
042    private ListWrapper<InvoiceAliasTransfer> invoiceAliases;
043    
044    /** Creates a new instance of InvoiceTransfer */
045    public InvoiceTransfer(InvoiceTypeTransfer invoiceType, String invoiceName, BillingAccountTransfer billingAccount, GlAccountTransfer glAccount,
046            TermTransfer term, String reference, String description, WorkflowEntityStatusTransfer invoiceStatus) {
047        this.invoiceType = invoiceType;
048        this.invoiceName = invoiceName;
049        this.billingAccount = billingAccount;
050        this.glAccount = glAccount;
051        this.term = term;
052        this.reference = reference;
053        this.description = description;
054        this.invoiceStatus = invoiceStatus;
055    }
056
057    /**
058     * Returns the invoiceType.
059     * @return the invoiceType
060     */
061    public InvoiceTypeTransfer getInvoiceType() {
062        return invoiceType;
063    }
064
065    /**
066     * Sets the invoiceType.
067     * @param invoiceType the invoiceType to set
068     */
069    public void setInvoiceType(InvoiceTypeTransfer invoiceType) {
070        this.invoiceType = invoiceType;
071    }
072
073    /**
074     * Returns the invoiceName.
075     * @return the invoiceName
076     */
077    public String getInvoiceName() {
078        return invoiceName;
079    }
080
081    /**
082     * Sets the invoiceName.
083     * @param invoiceName the invoiceName to set
084     */
085    public void setInvoiceName(String invoiceName) {
086        this.invoiceName = invoiceName;
087    }
088
089    /**
090     * Returns the billingAccount.
091     * @return the billingAccount
092     */
093    public BillingAccountTransfer getBillingAccount() {
094        return billingAccount;
095    }
096
097    /**
098     * Sets the billingAccount.
099     * @param billingAccount the billingAccount to set
100     */
101    public void setBillingAccount(BillingAccountTransfer billingAccount) {
102        this.billingAccount = billingAccount;
103    }
104
105    /**
106     * Returns the glAccount.
107     * @return the glAccount
108     */
109    public GlAccountTransfer getGlAccount() {
110        return glAccount;
111    }
112
113    /**
114     * Sets the glAccount.
115     * @param glAccount the glAccount to set
116     */
117    public void setGlAccount(GlAccountTransfer glAccount) {
118        this.glAccount = glAccount;
119    }
120
121    /**
122     * Returns the term.
123     * @return the term
124     */
125    public TermTransfer getTerm() {
126        return term;
127    }
128
129    /**
130     * Sets the term.
131     * @param term the term to set
132     */
133    public void setTerm(TermTransfer term) {
134        this.term = term;
135    }
136
137    /**
138     * Returns the reference.
139     * @return the reference
140     */
141    public String getReference() {
142        return reference;
143    }
144
145    /**
146     * Sets the reference.
147     * @param reference the reference to set
148     */
149    public void setReference(String reference) {
150        this.reference = reference;
151    }
152
153    /**
154     * Returns the description.
155     * @return the description
156     */
157    public String getDescription() {
158        return description;
159    }
160
161    /**
162     * Sets the description.
163     * @param description the description to set
164     */
165    public void setDescription(String description) {
166        this.description = description;
167    }
168
169    /**
170     * Returns the invoiceStatus.
171     * @return the invoiceStatus
172     */
173    public WorkflowEntityStatusTransfer getInvoiceStatus() {
174        return invoiceStatus;
175    }
176
177    /**
178     * Sets the invoiceStatus.
179     * @param invoiceStatus the invoiceStatus to set
180     */
181    public void setInvoiceStatus(WorkflowEntityStatusTransfer invoiceStatus) {
182        this.invoiceStatus = invoiceStatus;
183    }
184
185    /**
186     * Returns the invoiceTimes.
187     * @return the invoiceTimes
188     */
189    public MapWrapper<InvoiceTimeTransfer> getInvoiceTimes() {
190        return invoiceTimes;
191    }
192
193    /**
194     * Sets the invoiceTimes.
195     * @param invoiceTimes the invoiceTimes to set
196     */
197    public void setInvoiceTimes(MapWrapper<InvoiceTimeTransfer> invoiceTimes) {
198        this.invoiceTimes = invoiceTimes;
199    }
200
201    /**
202     * Returns the invoiceRoles.
203     * @return the invoiceRoles
204     */
205    public MapWrapper<InvoiceRoleTransfer> getInvoiceRoles() {
206        return invoiceRoles;
207    }
208
209    /**
210     * Sets the invoiceRoles.
211     * @param invoiceRoles the invoiceRoles to set
212     */
213    public void setInvoiceRoles(MapWrapper<InvoiceRoleTransfer> invoiceRoles) {
214        this.invoiceRoles = invoiceRoles;
215    }
216
217    /**
218     * Returns the invoiceLines.
219     * @return the invoiceLines
220     */
221    public ListWrapper<InvoiceLineTransfer> getInvoiceLines() {
222        return invoiceLines;
223    }
224
225    /**
226     * Sets the invoiceLines.
227     * @param invoiceLines the invoiceLines to set
228     */
229    public void setInvoiceLines(ListWrapper<InvoiceLineTransfer> invoiceLines) {
230        this.invoiceLines = invoiceLines;
231    }
232
233    /**
234     * Returns the invoiceAliases.
235     * @return the invoiceAliases
236     */
237    public ListWrapper<InvoiceAliasTransfer> getInvoiceAliases() {
238        return invoiceAliases;
239    }
240
241    /**
242     * Sets the invoiceAliases.
243     * @param invoiceAliases the invoiceAliases to set
244     */
245    public void setInvoiceAliases(ListWrapper<InvoiceAliasTransfer> invoiceAliases) {
246        this.invoiceAliases = invoiceAliases;
247    }
248
249}