From 043369c5aa0cbe30ff1c6a441aca069c08ac029d Mon Sep 17 00:00:00 2001 From: Nikollai Date: Wed, 8 Apr 2026 15:56:54 +0200 Subject: [PATCH] Created 3 files: - TransactionCalculatorFactory - PurchaseCalculatorFactory - SaleCalculatorFactory --- .../calculators/PurchaseCalculatorFactory.java | 18 ++++++++++++++++++ .../calculators/SaleCalculatorFactory.java | 16 ++++++++++++++++ .../TransactionCalculatorFactory.java | 8 ++++++++ 3 files changed, 42 insertions(+) create mode 100644 src/main/java/millions/calculators/PurchaseCalculatorFactory.java create mode 100644 src/main/java/millions/calculators/SaleCalculatorFactory.java create mode 100644 src/main/java/millions/calculators/TransactionCalculatorFactory.java diff --git a/src/main/java/millions/calculators/PurchaseCalculatorFactory.java b/src/main/java/millions/calculators/PurchaseCalculatorFactory.java new file mode 100644 index 0000000..7f496cf --- /dev/null +++ b/src/main/java/millions/calculators/PurchaseCalculatorFactory.java @@ -0,0 +1,18 @@ +package millions.calculators; + +import millions.Share; + +public class PurchaseCalculatorFactory extends TransactionCalculatorFactory { + Share share; + + @Override + public void setShare(Share share) { + this.share = share; + } + + @Override + public TransactionCalculator createCalculator() { + return new PurchaseCalculator(share); + } + +} diff --git a/src/main/java/millions/calculators/SaleCalculatorFactory.java b/src/main/java/millions/calculators/SaleCalculatorFactory.java new file mode 100644 index 0000000..fd16818 --- /dev/null +++ b/src/main/java/millions/calculators/SaleCalculatorFactory.java @@ -0,0 +1,16 @@ +package millions.calculators; + +import millions.Share; + +public class SaleCalculatorFactory extends TransactionCalculatorFactory { + Share share; + + @Override + public void setShare(Share share) { + this.share = share; + } + @Override + public TransactionCalculator createCalculator() { + return new SaleCalculator(share); + } +} diff --git a/src/main/java/millions/calculators/TransactionCalculatorFactory.java b/src/main/java/millions/calculators/TransactionCalculatorFactory.java new file mode 100644 index 0000000..106ca73 --- /dev/null +++ b/src/main/java/millions/calculators/TransactionCalculatorFactory.java @@ -0,0 +1,8 @@ +package millions.calculators; + +import millions.Share; + +public abstract class TransactionCalculatorFactory { + public abstract void setShare(Share share); + public abstract TransactionCalculator createCalculator(); +}