Class SingleItemPricingStrategy
- All Implemented Interfaces:
PricingStrategy
PricingStrategy e definisce la
strategia di calcolo
del prezzo per gli articoli singoli (MarketplaceItem) presenti in una riga
d'ordine.
Viene utilizzata quando una OrderLine si riferisce a un singolo
prodotto, piuttosto che a un pacchetto
o a un'altra tipologia di elemento vendibile.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncalculatePrice(OrderLine line) Calcola il prezzo totale per la riga d'ordine passata come parametro, specifica per un singolo item.
-
Constructor Details
-
SingleItemPricingStrategy
public SingleItemPricingStrategy()
-
-
Method Details
-
calculatePrice
Calcola il prezzo totale per la riga d'ordine passata come parametro, specifica per un singolo item.Cosa succede: Il metodo verifica prima che la riga d'ordine contenga effettivamente un item singolo. Successivamente, recupera e restituisce il valore del sottototale già presente nell'oggetto
OrderLine.Perché viene fatto così: La logica di calcolo del prezzo (prezzo unitario * quantità) viene "congelata" ed eseguita al momento della creazione o dell'aggiornamento della riga d'ordine. In questa fase, la strategia si limita a restituire quel valore. Questo approccio è fondamentale per garantire che il prezzo storico di un ordine rimanga immutato anche se il venditore dovesse modificare il prezzo base dell'articolo in futuro.
- Specified by:
calculatePricein interfacePricingStrategy- Parameters:
line- La riga d'ordine di cui calcolare il prezzo. Deve contenere un riferimento valido a un item.- Returns:
- Il prezzo totale per la riga (corrispondente al subtotale memorizzato).
- Throws:
IllegalArgumentException- Se la riga d'ordine non contiene un item valido (è null).
-