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(); +}