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.vendor.common.transfer;
018
019import com.echothree.model.control.accounting.common.transfer.CurrencyTransfer;
020import com.echothree.model.control.accounting.common.transfer.GlAccountTransfer;
021import com.echothree.model.control.cancellationpolicy.common.transfer.CancellationPolicyTransfer;
022import com.echothree.model.control.item.common.transfer.ItemAliasTypeTransfer;
023import com.echothree.model.control.party.common.transfer.DateTimeFormatTransfer;
024import com.echothree.model.control.party.common.transfer.LanguageTransfer;
025import com.echothree.model.control.party.common.transfer.PartyGroupTransfer;
026import com.echothree.model.control.party.common.transfer.PartyTransfer;
027import com.echothree.model.control.party.common.transfer.PartyTypeTransfer;
028import com.echothree.model.control.party.common.transfer.PersonTransfer;
029import com.echothree.model.control.party.common.transfer.TimeZoneTransfer;
030import com.echothree.model.control.returnpolicy.common.transfer.ReturnPolicyTransfer;
031import com.echothree.model.control.workflow.common.transfer.WorkflowEntityStatusTransfer;
032import com.echothree.util.common.transfer.ListWrapper;
033
034public class VendorTransfer
035        extends PartyTransfer {
036
037    private String vendorName;
038    private VendorTypeTransfer vendorType;
039    private Integer minimumPurchaseOrderLines;
040    private Integer maximumPurchaseOrderLines;
041    private Long unformattedMinimumPurchaseOrderAmount;
042    private String minimumPurchaseOrderAmount;
043    private Long unformattedMaximumPurchaseOrderAmount;
044    private String maximumPurchaseOrderAmount;
045    private Boolean useItemPurchasingCategories;
046    private ItemAliasTypeTransfer defaultItemAliasType;
047    private GlAccountTransfer apGlAccount;
048    private Boolean holdUntilComplete;
049    private Boolean allowBackorders;
050    private Boolean allowSubstitutions;
051    private Boolean allowCombiningShipments;
052    private Boolean requireReference;
053    private Boolean allowReferenceDuplicates;
054    private String referenceValidationPattern;
055    private WorkflowEntityStatusTransfer vendorStatus;
056    
057    private Long vendorItemsCount;
058    private ListWrapper<VendorItemTransfer> vendorItems;
059    
060    /** Creates a new instance of VendorTransfer */
061    public VendorTransfer(String partyName, PartyTypeTransfer partyType, LanguageTransfer preferredLanguage, CurrencyTransfer preferredCurrency,
062            TimeZoneTransfer preferredTimeZone, DateTimeFormatTransfer preferredDateTimeFormat, PersonTransfer person, PartyGroupTransfer partyGroup,
063            String vendorName, VendorTypeTransfer vendorType, Integer minimumPurchaseOrderLines, Integer maximumPurchaseOrderLines,
064            Long unformattedMinimumPurchaseOrderAmount, String minimumPurchaseOrderAmount, Long unformattedMaximumPurchaseOrderAmount,
065            String maximumPurchaseOrderAmount, Boolean useItemPurchasingCategories, ItemAliasTypeTransfer defaultItemAliasType,
066            CancellationPolicyTransfer cancellationPolicy, ReturnPolicyTransfer returnPolicy, GlAccountTransfer apGlAccount, Boolean holdUntilComplete,
067            Boolean allowBackorders, Boolean allowSubstitutions, Boolean allowCombiningShipments, Boolean requireReference, Boolean allowReferenceDuplicates,
068            String referenceValidationPattern, WorkflowEntityStatusTransfer vendorStatus) {
069        super(partyName, partyType, preferredLanguage, preferredCurrency, preferredTimeZone, preferredDateTimeFormat, person, partyGroup, null);
070
071        this.vendorName = vendorName;
072        this.vendorType = vendorType;
073        this.minimumPurchaseOrderLines = minimumPurchaseOrderLines;
074        this.maximumPurchaseOrderLines = maximumPurchaseOrderLines;
075        this.unformattedMinimumPurchaseOrderAmount = unformattedMinimumPurchaseOrderAmount;
076        this.minimumPurchaseOrderAmount = minimumPurchaseOrderAmount;
077        this.unformattedMaximumPurchaseOrderAmount = unformattedMaximumPurchaseOrderAmount;
078        this.maximumPurchaseOrderAmount = maximumPurchaseOrderAmount;
079        this.useItemPurchasingCategories = useItemPurchasingCategories;
080        this.defaultItemAliasType = defaultItemAliasType;
081        setCancellationPolicy(cancellationPolicy);
082        setReturnPolicy(returnPolicy);
083        this.apGlAccount = apGlAccount;
084        this.holdUntilComplete = holdUntilComplete;
085        this.allowBackorders = allowBackorders;
086        this.allowSubstitutions = allowSubstitutions;
087        this.allowCombiningShipments = allowCombiningShipments;
088        this.requireReference = requireReference;
089        this.allowReferenceDuplicates = allowReferenceDuplicates;
090        this.referenceValidationPattern = referenceValidationPattern;
091        this.vendorStatus = vendorStatus;
092    }
093
094    /**
095     * Returns the vendorName.
096     * @return the vendorName
097     */
098    public String getVendorName() {
099        return vendorName;
100    }
101
102    /**
103     * Sets the vendorName.
104     * @param vendorName the vendorName to set
105     */
106    public void setVendorName(String vendorName) {
107        this.vendorName = vendorName;
108    }
109
110    /**
111     * Returns the vendorType.
112     * @return the vendorType
113     */
114    public VendorTypeTransfer getVendorType() {
115        return vendorType;
116    }
117
118    /**
119     * Sets the vendorType.
120     * @param vendorType the vendorType to set
121     */
122    public void setVendorType(VendorTypeTransfer vendorType) {
123        this.vendorType = vendorType;
124    }
125
126    /**
127     * Returns the minimumPurchaseOrderLines.
128     * @return the minimumPurchaseOrderLines
129     */
130    public Integer getMinimumPurchaseOrderLines() {
131        return minimumPurchaseOrderLines;
132    }
133
134    /**
135     * Sets the minimumPurchaseOrderLines.
136     * @param minimumPurchaseOrderLines the minimumPurchaseOrderLines to set
137     */
138    public void setMinimumPurchaseOrderLines(Integer minimumPurchaseOrderLines) {
139        this.minimumPurchaseOrderLines = minimumPurchaseOrderLines;
140    }
141
142    /**
143     * Returns the maximumPurchaseOrderLines.
144     * @return the maximumPurchaseOrderLines
145     */
146    public Integer getMaximumPurchaseOrderLines() {
147        return maximumPurchaseOrderLines;
148    }
149
150    /**
151     * Sets the maximumPurchaseOrderLines.
152     * @param maximumPurchaseOrderLines the maximumPurchaseOrderLines to set
153     */
154    public void setMaximumPurchaseOrderLines(Integer maximumPurchaseOrderLines) {
155        this.maximumPurchaseOrderLines = maximumPurchaseOrderLines;
156    }
157
158    /**
159     * Returns the unformattedMinimumPurchaseOrderAmount.
160     * @return the unformattedMinimumPurchaseOrderAmount
161     */
162    public Long getUnformattedMinimumPurchaseOrderAmount() {
163        return unformattedMinimumPurchaseOrderAmount;
164    }
165
166    /**
167     * Sets the unformattedMinimumPurchaseOrderAmount.
168     * @param unformattedMinimumPurchaseOrderAmount the unformattedMinimumPurchaseOrderAmount to set
169     */
170    public void setUnformattedMinimumPurchaseOrderAmount(Long unformattedMinimumPurchaseOrderAmount) {
171        this.unformattedMinimumPurchaseOrderAmount = unformattedMinimumPurchaseOrderAmount;
172    }
173
174    /**
175     * Returns the minimumPurchaseOrderAmount.
176     * @return the minimumPurchaseOrderAmount
177     */
178    public String getMinimumPurchaseOrderAmount() {
179        return minimumPurchaseOrderAmount;
180    }
181
182    /**
183     * Sets the minimumPurchaseOrderAmount.
184     * @param minimumPurchaseOrderAmount the minimumPurchaseOrderAmount to set
185     */
186    public void setMinimumPurchaseOrderAmount(String minimumPurchaseOrderAmount) {
187        this.minimumPurchaseOrderAmount = minimumPurchaseOrderAmount;
188    }
189
190    /**
191     * Returns the unformattedMaximumPurchaseOrderAmount.
192     * @return the unformattedMaximumPurchaseOrderAmount
193     */
194    public Long getUnformattedMaximumPurchaseOrderAmount() {
195        return unformattedMaximumPurchaseOrderAmount;
196    }
197
198    /**
199     * Sets the unformattedMaximumPurchaseOrderAmount.
200     * @param unformattedMaximumPurchaseOrderAmount the unformattedMaximumPurchaseOrderAmount to set
201     */
202    public void setUnformattedMaximumPurchaseOrderAmount(Long unformattedMaximumPurchaseOrderAmount) {
203        this.unformattedMaximumPurchaseOrderAmount = unformattedMaximumPurchaseOrderAmount;
204    }
205
206    /**
207     * Returns the maximumPurchaseOrderAmount.
208     * @return the maximumPurchaseOrderAmount
209     */
210    public String getMaximumPurchaseOrderAmount() {
211        return maximumPurchaseOrderAmount;
212    }
213
214    /**
215     * Sets the maximumPurchaseOrderAmount.
216     * @param maximumPurchaseOrderAmount the maximumPurchaseOrderAmount to set
217     */
218    public void setMaximumPurchaseOrderAmount(String maximumPurchaseOrderAmount) {
219        this.maximumPurchaseOrderAmount = maximumPurchaseOrderAmount;
220    }
221
222    /**
223     * Returns the useItemPurchasingCategories.
224     * @return the useItemPurchasingCategories
225     */
226    public Boolean getUseItemPurchasingCategories() {
227        return useItemPurchasingCategories;
228    }
229
230    /**
231     * Sets the useItemPurchasingCategories.
232     * @param useItemPurchasingCategories the useItemPurchasingCategories to set
233     */
234    public void setUseItemPurchasingCategories(Boolean useItemPurchasingCategories) {
235        this.useItemPurchasingCategories = useItemPurchasingCategories;
236    }
237
238    /**
239     * Returns the defaultItemAliasType.
240     * @return the defaultItemAliasType
241     */
242    public ItemAliasTypeTransfer getDefaultItemAliasType() {
243        return defaultItemAliasType;
244    }
245
246    /**
247     * Sets the defaultItemAliasType.
248     * @param defaultItemAliasType the defaultItemAliasType to set
249     */
250    public void setDefaultItemAliasType(ItemAliasTypeTransfer defaultItemAliasType) {
251        this.defaultItemAliasType = defaultItemAliasType;
252    }
253
254    /**
255     * Returns the apGlAccount.
256     * @return the apGlAccount
257     */
258    public GlAccountTransfer getApGlAccount() {
259        return apGlAccount;
260    }
261
262    /**
263     * Sets the apGlAccount.
264     * @param apGlAccount the apGlAccount to set
265     */
266    public void setApGlAccount(GlAccountTransfer apGlAccount) {
267        this.apGlAccount = apGlAccount;
268    }
269
270    /**
271     * Returns the holdUntilComplete.
272     * @return the holdUntilComplete
273     */
274    public Boolean getHoldUntilComplete() {
275        return holdUntilComplete;
276    }
277
278    /**
279     * Sets the holdUntilComplete.
280     * @param holdUntilComplete the holdUntilComplete to set
281     */
282    public void setHoldUntilComplete(Boolean holdUntilComplete) {
283        this.holdUntilComplete = holdUntilComplete;
284    }
285
286    /**
287     * Returns the allowBackorders.
288     * @return the allowBackorders
289     */
290    public Boolean getAllowBackorders() {
291        return allowBackorders;
292    }
293
294    /**
295     * Sets the allowBackorders.
296     * @param allowBackorders the allowBackorders to set
297     */
298    public void setAllowBackorders(Boolean allowBackorders) {
299        this.allowBackorders = allowBackorders;
300    }
301
302    /**
303     * Returns the allowSubstitutions.
304     * @return the allowSubstitutions
305     */
306    public Boolean getAllowSubstitutions() {
307        return allowSubstitutions;
308    }
309
310    /**
311     * Sets the allowSubstitutions.
312     * @param allowSubstitutions the allowSubstitutions to set
313     */
314    public void setAllowSubstitutions(Boolean allowSubstitutions) {
315        this.allowSubstitutions = allowSubstitutions;
316    }
317
318    /**
319     * Returns the allowCombiningShipments.
320     * @return the allowCombiningShipments
321     */
322    public Boolean getAllowCombiningShipments() {
323        return allowCombiningShipments;
324    }
325
326    /**
327     * Sets the allowCombiningShipments.
328     * @param allowCombiningShipments the allowCombiningShipments to set
329     */
330    public void setAllowCombiningShipments(Boolean allowCombiningShipments) {
331        this.allowCombiningShipments = allowCombiningShipments;
332    }
333
334    /**
335     * Returns the requireReference.
336     * @return the requireReference
337     */
338    public Boolean getRequireReference() {
339        return requireReference;
340    }
341
342    /**
343     * Sets the requireReference.
344     * @param requireReference the requireReference to set
345     */
346    public void setRequireReference(Boolean requireReference) {
347        this.requireReference = requireReference;
348    }
349
350    /**
351     * Returns the allowReferenceDuplicates.
352     * @return the allowReferenceDuplicates
353     */
354    public Boolean getAllowReferenceDuplicates() {
355        return allowReferenceDuplicates;
356    }
357
358    /**
359     * Sets the allowReferenceDuplicates.
360     * @param allowReferenceDuplicates the allowReferenceDuplicates to set
361     */
362    public void setAllowReferenceDuplicates(Boolean allowReferenceDuplicates) {
363        this.allowReferenceDuplicates = allowReferenceDuplicates;
364    }
365
366    /**
367     * Returns the referenceValidationPattern.
368     * @return the referenceValidationPattern
369     */
370    public String getReferenceValidationPattern() {
371        return referenceValidationPattern;
372    }
373
374    /**
375     * Sets the referenceValidationPattern.
376     * @param referenceValidationPattern the referenceValidationPattern to set
377     */
378    public void setReferenceValidationPattern(String referenceValidationPattern) {
379        this.referenceValidationPattern = referenceValidationPattern;
380    }
381
382    /**
383     * Returns the vendorStatus.
384     * @return the vendorStatus
385     */
386    public WorkflowEntityStatusTransfer getVendorStatus() {
387        return vendorStatus;
388    }
389
390    /**
391     * Sets the vendorStatus.
392     * @param vendorStatus the vendorStatus to set
393     */
394    public void setVendorStatus(WorkflowEntityStatusTransfer vendorStatus) {
395        this.vendorStatus = vendorStatus;
396    }
397
398    /**
399     * Returns the vendorItemsCount.
400     * @return the vendorItemsCount
401     */
402    public Long getVendorItemsCount() {
403        return vendorItemsCount;
404    }
405
406    /**
407     * Sets the vendorItemsCount.
408     * @param vendorItemsCount the vendorItemsCount to set
409     */
410    public void setVendorItemsCount(Long vendorItemsCount) {
411        this.vendorItemsCount = vendorItemsCount;
412    }
413
414    /**
415     * Returns the vendorItems.
416     * @return the vendorItems
417     */
418    public ListWrapper<VendorItemTransfer> getVendorItems() {
419        return vendorItems;
420    }
421
422    /**
423     * Sets the vendorItems.
424     * @param vendorItems the vendorItems to set
425     */
426    public void setVendorItems(ListWrapper<VendorItemTransfer> vendorItems) {
427        this.vendorItems = vendorItems;
428    }
429
430}