Interface SalesDocumentBase<L extends ItemListBase<I>,I extends ItemBase,H extends HeaderBase>

Type Parameters:
L - type of the item List
I - type of the items of the item list
H - type of the header
All Superinterfaces:
BusinessObject, Iterable<I>, MessageListHolder, Serializable, SimpleDocument<L,I,H>
All Known Subinterfaces:
Basket, Order, SalesDocument
All Known Implementing Classes:
BasketImpl, OrderHistoryImpl, OrderImpl, SalesDocumentBaseImpl, SalesDocumentImpl

public interface SalesDocumentBase<L extends ItemListBase<I>,I extends ItemBase,H extends HeaderBase> extends SimpleDocument<L,I,H>
Base Interface for all sales documents, e.g. Basket, Order etc.
The document consists in principle of a Header and a ItemList, which again contains Items. The type of all 3 objects can be passed to this class via generics to enable type safe access.
  • Field Details

    • NO_OF_ITEMS_UNKNOWN

      static final int NO_OF_ITEMS_UNKNOWN
      Constant defining that the number of items of a document is unknown. Thus it must be determined by the size if the itemList.
      See Also:
  • Method Details

    • getAlternativeShipTos

      List<ShipTo> getAlternativeShipTos()
      Return the list of all available shipTos of this document. The shipTos contain the address.
      Returns:
      list of shipTos.
    • getAlternativeBillTos

      List<BillTo> getAlternativeBillTos()
      Return the list of all available shipTos of this document. The billTos contain the address.
      Returns:
      list of billTos.
    • isChangeHeaderOnly

      boolean isChangeHeaderOnly()
      Returns true if only the header should be changed
      Returns:
      boolean true if only the header should be changed, false else
    • isDeterminationRequired

      boolean isDeterminationRequired()
      Determines if manual Product-, Campaign-, ... Determination is necessary for at least one top level item.
      Returns:
      boolean true if there is at least on item that needs manual determination for products, camapigns, etc.
    • setDeterminationRequired

      void setDeterminationRequired(boolean isDeterminationRequired)
      Sets the isDeterminationRequired flag
      Parameters:
      isDeterminationRequired - true if there are items that need manual determination either for camapigns, substitution products or something similar
    • isPersistentInBackend

      boolean isPersistentInBackend()
      Returns the information, if document is persistent in the back end
      Returns:
      true, if document persists on DB in the back end
    • setPersistentInBackend

      void setPersistentInBackend(boolean isPersistent)
      Set flag, if document is persistent in the back end
      Parameters:
      isPersistent - if true document is considered persistent