Package org.salespointframework.order
Class Order
java.lang.Object
org.salespointframework.core.AbstractEntity<ID>
org.salespointframework.core.AbstractAggregateRoot<Order.OrderIdentifier>
org.salespointframework.order.Order
- All Implemented Interfaces:
Persistable<Order.OrderIdentifier>
- Author:
- Thomas Dedek, Paul Henke, Oliver Gierke
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Order.OrderIdentifier
serves as an identifier type forOrder
objects. -
Constructor Summary
ModifierConstructorDescriptionprotected
Order()
Deprecated.Order
(UserAccount userAccount) Deprecated, for removal: This API element is subject to removal in a future version.since 9.0.Order
(UserAccount.UserAccountIdentifier userAccountIdentifier) Creates a new Order for the givenUserAccount.UserAccountIdentifier
.Order
(UserAccount.UserAccountIdentifier userAccountIdentifier, PaymentMethod paymentMethod) Order
(UserAccount userAccount, PaymentMethod paymentMethod) Deprecated, for removal: This API element is subject to removal in a future version.since 9.0. -
Method Summary
Modifier and TypeMethodDescriptionaddChargeLine
(javax.money.MonetaryAmount price, String description) Adds aChargeLine
with the given price and description to theOrder
.addChargeLine
(javax.money.MonetaryAmount price, String description, int index) Adds anChargeLine.AttachedChargeLine
with the given price and description to theOrderLine
with the given index.addChargeLine
(javax.money.MonetaryAmount price, String description, OrderLine orderLine) Adds anChargeLine.AttachedChargeLine
with the given price and description to the givenOrderLine
.addOrderLine
(Product product, Quantity quantity) Returns allChargeLine
instances, i.e.Returns allChargeLine
instances registered for the currentOrder
.getChargeLines
(int index) Returns allChargeLine.AttachedChargeLine
s for theOrderLine
with the given index.getChargeLines
(OrderLine orderLine) Returns allChargeLine.AttachedChargeLine
s for the givenOrderLine
.getId()
Returns the unique id of thisOrder
.getOrderLines
(Product product) javax.money.MonetaryAmount
getTotal()
Returns the total price of theOrder
.boolean
Convenience method for checking if an order has the status CANCELEDboolean
Convenience method for checking if an order has the status COMPLETEDboolean
isOpen()
Convenience method for checking if an order has the status OPENboolean
isPaid()
Convenience method for checking if an order has the status PAIDvoid
remove
(ChargeLine chargeLine) Remove the givenChargeLine
from theOrder
void
remove
(ChargeLine.AttachedChargeLine chargeLine) Removes the givenChargeLine.AttachedChargeLine
from theOrder
.void
Removes the givenOrderLine
as well as allChargeLine.AttachedChargeLine
associated with it.void
removeChargeLinesFor
(OrderLine orderLine) Removes allChargeLine.AttachedChargeLine
s attached to the givenOrderLine
.void
setPaymentMethod
(PaymentMethod paymentMethod) Sets the givenPaymentMethod
for theOrder
toString()
Methods inherited from class org.salespointframework.core.AbstractAggregateRoot
registerEvent
Methods inherited from class org.salespointframework.core.AbstractEntity
equals, hashCode, hasId, isNew
-
Constructor Details
-
Order
Creates a new Order for the givenUserAccount.UserAccountIdentifier
.- Parameters:
userAccountIdentifier
- The identifier of theUserAccount
connected to this order, must not be null.- Since:
- 9.0
-
Order
Deprecated, for removal: This API element is subject to removal in a future version.since 9.0. UseOrder(UserAccountIdentifier)
instead.Creates a new Order for the givenUserAccount
.- Parameters:
userAccount
- TheUserAccount
connected to this order, must not be null.
-
Order
- Parameters:
userAccountIdentifier
- The identifier of theUserAccount
connected to this order, must not be null.paymentMethod
- ThePaymentMethod
connected to this order, must not be null.- Since:
- 9.0
-
Order
@Deprecated(forRemoval=true, since="9.0") public Order(UserAccount userAccount, PaymentMethod paymentMethod) Deprecated, for removal: This API element is subject to removal in a future version.since 9.0. UseOrder(UserAccountIdentifier, PaymentMethod)
instead.- Parameters:
userAccount
- TheUserAccount
connected to this order, must not be null.paymentMethod
- ThePaymentMethod
connected to this order, must not be null.
-
Order
Deprecated.
-
-
Method Details
-
getId
Returns the unique id of thisOrder
.- Returns:
- will never be null
-
getOrderLines
- Returns:
- will never be null.
-
getOrderLines
- Parameters:
product
- must not be null.- Returns:
- will never be null.
- Since:
- 7.1
-
getChargeLines
Returns allChargeLine
instances registered for the currentOrder
.- Returns:
- will never be null.
-
getAllChargeLines
Returns allChargeLine
instances, i.e. both standard ones andChargeLine.AttachedChargeLine
s.- Returns:
- will never be null.
-
getChargeLines
Returns allChargeLine.AttachedChargeLine
s for theOrderLine
with the given index.- Parameters:
index
- must be in the range ofOrderLine
s.- Returns:
- will never be null.
- Since:
- 7.1
-
getChargeLines
Returns allChargeLine.AttachedChargeLine
s for the givenOrderLine
.- Parameters:
orderLine
- must not be null.- Returns:
- will never be null.
- Since:
- 7.1
-
getTotal
public javax.money.MonetaryAmount getTotal()Returns the total price of theOrder
.- Returns:
- will never be null.
- Since:
- 7.1
-
addOrderLine
- Parameters:
product
- must not be null.quantity
- must not be null.- Returns:
- the
OrderLine
added, will never be null. - Since:
- 7.1
-
remove
Removes the givenOrderLine
as well as allChargeLine.AttachedChargeLine
associated with it.- Parameters:
orderLine
- must not be null.
-
addChargeLine
Adds aChargeLine
with the given price and description to theOrder
.- Parameters:
price
- must not be null.description
- must not be null.- Returns:
- the
ChargeLine
created. - Since:
- 7.1
-
addChargeLine
public ChargeLine.AttachedChargeLine addChargeLine(javax.money.MonetaryAmount price, String description, int index) Adds anChargeLine.AttachedChargeLine
with the given price and description to theOrderLine
with the given index.- Parameters:
price
- must not be null.description
- must not be null.index
- must be within the range ofOrderLine
s already registered.- Returns:
- the
ChargeLine.AttachedChargeLine
created. - Since:
- 7.1
-
addChargeLine
public ChargeLine.AttachedChargeLine addChargeLine(javax.money.MonetaryAmount price, String description, OrderLine orderLine) Adds anChargeLine.AttachedChargeLine
with the given price and description to the givenOrderLine
.- Parameters:
price
- must not be null.description
- must not be null.orderLine
- must not be null.- Returns:
- the
ChargeLine.AttachedChargeLine
created. - Since:
- 7.1
-
remove
Remove the givenChargeLine
from theOrder
- Parameters:
chargeLine
- must not be null.
-
remove
Removes the givenChargeLine.AttachedChargeLine
from theOrder
.- Parameters:
chargeLine
- must not be null.- Since:
- 7.1
-
removeChargeLinesFor
Removes allChargeLine.AttachedChargeLine
s attached to the givenOrderLine
.- Parameters:
orderLine
- must not be null.- Since:
- 7.1
-
isPaid
public boolean isPaid()Convenience method for checking if an order has the status PAID- Returns:
- true if OrderStatus is PAID, otherwise false
-
isCanceled
public boolean isCanceled()Convenience method for checking if an order has the status CANCELED- Returns:
- true if OrderStatus is CANCELED, otherwise false
-
isCompleted
public boolean isCompleted()Convenience method for checking if an order has the status COMPLETED- Returns:
- true if OrderStatus is COMPLETED, otherwise false
-
isOpen
public boolean isOpen()Convenience method for checking if an order has the status OPEN- Returns:
- true if OrderStatus is OPEN, otherwise false
-
setPaymentMethod
Sets the givenPaymentMethod
for theOrder
- Parameters:
paymentMethod
- must not be null.
-
toString
-
getPaymentMethod
-
getUserAccountIdentifier
-
getDateCreated
-
getOrderStatus
-