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.order.common.transfer;
018
019import com.echothree.model.control.cancellationpolicy.common.transfer.CancellationPolicyTransfer;
020import com.echothree.model.control.inventory.common.transfer.InventoryConditionTransfer;
021import com.echothree.model.control.item.common.transfer.ItemTransfer;
022import com.echothree.model.control.returnpolicy.common.transfer.ReturnPolicyTransfer;
023import com.echothree.model.control.uom.common.transfer.UnitOfMeasureTypeTransfer;
024import com.echothree.util.common.transfer.BaseTransfer;
025import com.echothree.util.common.transfer.MapWrapper;
026
027public class OrderLineTransfer<O extends OrderTransfer>
028        extends BaseTransfer {
029    
030    protected O order;
031    protected Integer orderLineSequence;
032    private ItemTransfer item;
033    private InventoryConditionTransfer inventoryCondition;
034    private UnitOfMeasureTypeTransfer unitOfMeasureType;
035    private Long quantity;
036    private Long unformattedUnitAmount;
037    private String unitAmount;
038    private String description;
039    private CancellationPolicyTransfer cancellationPolicy;
040    private ReturnPolicyTransfer returnPolicy;
041    private Boolean taxable;
042
043    private MapWrapper<OrderLineTimeTransfer> orderTimes;
044
045    protected OrderLineTransfer(O order, Integer orderLineSequence, ItemTransfer item, InventoryConditionTransfer inventoryCondition,
046            UnitOfMeasureTypeTransfer unitOfMeasureType, Long quantity, Long unformattedUnitAmount, String unitAmount, String description,
047            CancellationPolicyTransfer cancellationPolicy, ReturnPolicyTransfer returnPolicy, Boolean taxable) {
048        this.order = order;
049        this.orderLineSequence = orderLineSequence;
050        this.item = item;
051        this.inventoryCondition = inventoryCondition;
052        this.unitOfMeasureType = unitOfMeasureType;
053        this.quantity = quantity;
054        this.unformattedUnitAmount = unformattedUnitAmount;
055        this.unitAmount = unitAmount;
056        this.description = description;
057        this.cancellationPolicy = cancellationPolicy;
058        this.returnPolicy = returnPolicy;
059        this.taxable = taxable;
060    }
061
062    /**
063     * Returns the order.
064     * @return the order
065     */
066    public O getOrder() {
067        return order;
068    }
069
070    /**
071     * Sets the order.
072     * @param order the order to set
073     */
074    public void setOrder(O order) {
075        this.order = order;
076    }
077
078    /**
079     * Returns the orderLineSequence.
080     * @return the orderLineSequence
081     */
082    public Integer getOrderLineSequence() {
083        return orderLineSequence;
084    }
085
086    /**
087     * Sets the orderLineSequence.
088     * @param orderLineSequence the orderLineSequence to set
089     */
090    public void setOrderLineSequence(Integer orderLineSequence) {
091        this.orderLineSequence = orderLineSequence;
092    }
093
094    /**
095     * Returns the item.
096     * @return the item
097     */
098    public ItemTransfer getItem() {
099        return item;
100    }
101
102    /**
103     * Sets the item.
104     * @param item the item to set
105     */
106    public void setItem(ItemTransfer item) {
107        this.item = item;
108    }
109
110    /**
111     * Returns the inventoryCondition.
112     * @return the inventoryCondition
113     */
114    public InventoryConditionTransfer getInventoryCondition() {
115        return inventoryCondition;
116    }
117
118    /**
119     * Sets the inventoryCondition.
120     * @param inventoryCondition the inventoryCondition to set
121     */
122    public void setInventoryCondition(InventoryConditionTransfer inventoryCondition) {
123        this.inventoryCondition = inventoryCondition;
124    }
125
126    /**
127     * Returns the unitOfMeasureType.
128     * @return the unitOfMeasureType
129     */
130    public UnitOfMeasureTypeTransfer getUnitOfMeasureType() {
131        return unitOfMeasureType;
132    }
133
134    /**
135     * Sets the unitOfMeasureType.
136     * @param unitOfMeasureType the unitOfMeasureType to set
137     */
138    public void setUnitOfMeasureType(UnitOfMeasureTypeTransfer unitOfMeasureType) {
139        this.unitOfMeasureType = unitOfMeasureType;
140    }
141
142    /**
143     * Returns the quantity.
144     * @return the quantity
145     */
146    public Long getQuantity() {
147        return quantity;
148    }
149
150    /**
151     * Sets the quantity.
152     * @param quantity the quantity to set
153     */
154    public void setQuantity(Long quantity) {
155        this.quantity = quantity;
156    }
157
158    /**
159     * Returns the unformattedUnitAmount.
160     * @return the unformattedUnitAmount
161     */
162    public Long getUnformattedUnitAmount() {
163        return unformattedUnitAmount;
164    }
165
166    /**
167     * Sets the unformattedUnitAmount.
168     * @param unformattedUnitAmount the unformattedUnitAmount to set
169     */
170    public void setUnformattedUnitAmount(Long unformattedUnitAmount) {
171        this.unformattedUnitAmount = unformattedUnitAmount;
172    }
173
174    /**
175     * Returns the unitAmount.
176     * @return the unitAmount
177     */
178    public String getUnitAmount() {
179        return unitAmount;
180    }
181
182    /**
183     * Sets the unitAmount.
184     * @param unitAmount the unitAmount to set
185     */
186    public void setUnitAmount(String unitAmount) {
187        this.unitAmount = unitAmount;
188    }
189
190    /**
191     * Returns the description.
192     * @return the description
193     */
194    public String getDescription() {
195        return description;
196    }
197
198    /**
199     * Sets the description.
200     * @param description the description to set
201     */
202    public void setDescription(String description) {
203        this.description = description;
204    }
205
206    /**
207     * Returns the cancellationPolicy.
208     * @return the cancellationPolicy
209     */
210    public CancellationPolicyTransfer getCancellationPolicy() {
211        return cancellationPolicy;
212    }
213
214    /**
215     * Sets the cancellationPolicy.
216     * @param cancellationPolicy the cancellationPolicy to set
217     */
218    public void setCancellationPolicy(CancellationPolicyTransfer cancellationPolicy) {
219        this.cancellationPolicy = cancellationPolicy;
220    }
221
222    /**
223     * Returns the returnPolicy.
224     * @return the returnPolicy
225     */
226    public ReturnPolicyTransfer getReturnPolicy() {
227        return returnPolicy;
228    }
229
230    /**
231     * Sets the returnPolicy.
232     * @param returnPolicy the returnPolicy to set
233     */
234    public void setReturnPolicy(ReturnPolicyTransfer returnPolicy) {
235        this.returnPolicy = returnPolicy;
236    }
237
238    /**
239     * Returns the taxable.
240     * @return the taxable
241     */
242    public Boolean getTaxable() {
243        return taxable;
244    }
245
246    /**
247     * Sets the taxable.
248     * @param taxable the taxable to set
249     */
250    public void setTaxable(Boolean taxable) {
251        this.taxable = taxable;
252    }
253
254    /**
255     * Returns the orderTimes.
256     * @return the orderTimes
257     */
258    public MapWrapper<OrderLineTimeTransfer> getOrderTimes() {
259        return orderTimes;
260    }
261
262    /**
263     * Sets the orderTimes.
264     * @param orderTimes the orderTimes to set
265     */
266    public void setOrderTimes(MapWrapper<OrderLineTimeTransfer> orderTimes) {
267        this.orderTimes = orderTimes;
268    }
269
270}