Interface CloneAbstractOrderStrategy
- All Known Implementing Classes:
DefaultCloneAbstractOrderStrategy,DefaultCloneB2BCartStrategy
public interface CloneAbstractOrderStrategy
Order cloning strategy defined on an generic
AbstractOrderModel level. It is extended by Cart and Order
dedicated strategy that define the contract on CartModel and OrderModel levels. If you need to define
a strategy for your own order type, please extend this interface for it.-
Method Summary
Modifier and TypeMethodDescription<T extends AbstractOrderModel>
Tclone(ComposedTypeModel orderType, ComposedTypeModel entryType, AbstractOrderModel original, String code, Class abstractOrderClassResult, Class abstractOrderEntryClassResult) Make a clone of an abstract order (eventually change the type).<T extends AbstractOrderEntryModel>
Collection<T>cloneEntries(ComposedTypeModel entriesType, AbstractOrderModel original) Make a clone of entries (eventually change their type).
-
Method Details
-
clone
<T extends AbstractOrderModel> T clone(ComposedTypeModel orderType, ComposedTypeModel entryType, AbstractOrderModel original, String code, Class abstractOrderClassResult, Class abstractOrderEntryClassResult) Make a clone of an abstract order (eventually change the type).- Parameters:
orderType- type of newly created orderentryType- type of order entry of newly created orderoriginal- original ordercode- code of created order
-
cloneEntries
<T extends AbstractOrderEntryModel> Collection<T> cloneEntries(ComposedTypeModel entriesType, AbstractOrderModel original) Make a clone of entries (eventually change their type). If entriesType is null, the type will be calculated according toAbstractOrderEntryTypeService.getAbstractOrderEntryType(AbstractOrderModel)method.- Parameters:
entriesType- type of cloned entriesoriginal- original abstractOrder- Returns:
- cloned order entries (same order as original)
- Throws:
IllegalArgumentException- if original is null
-