From aab0f7b8b8b2868ab65f1b8e17b965384819df55 Mon Sep 17 00:00:00 2001 From: Nikollai Date: Thu, 12 Feb 2026 18:04:20 +0100 Subject: [PATCH] Refactored packagestructure created PurchaseCalculator Created SaleCalculator --- .../java/{ => temppackage}/Portfolio.java | 2 ++ src/main/java/{ => temppackage}/Share.java | 2 ++ src/main/java/{ => temppackage}/Stock.java | 2 ++ .../calculators/PurchaseCalculator.java | 31 +++++++++++++++++++ .../calculators/SaleCalculator.java | 14 +++++++++ .../calculators/TransactionCalculator.java | 2 +- 6 files changed, 52 insertions(+), 1 deletion(-) rename src/main/java/{ => temppackage}/Portfolio.java (95%) rename src/main/java/{ => temppackage}/Share.java (95%) rename src/main/java/{ => temppackage}/Stock.java (96%) create mode 100644 src/main/java/temppackage/calculators/PurchaseCalculator.java create mode 100644 src/main/java/temppackage/calculators/SaleCalculator.java rename src/main/java/{ => temppackage}/calculators/TransactionCalculator.java (87%) diff --git a/src/main/java/Portfolio.java b/src/main/java/temppackage/Portfolio.java similarity index 95% rename from src/main/java/Portfolio.java rename to src/main/java/temppackage/Portfolio.java index 767012c..adc4af0 100644 --- a/src/main/java/Portfolio.java +++ b/src/main/java/temppackage/Portfolio.java @@ -1,3 +1,5 @@ +package temppackage; + import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/Share.java b/src/main/java/temppackage/Share.java similarity index 95% rename from src/main/java/Share.java rename to src/main/java/temppackage/Share.java index 05c2feb..8055c3f 100644 --- a/src/main/java/Share.java +++ b/src/main/java/temppackage/Share.java @@ -1,3 +1,5 @@ +package temppackage; + import java.math.BigDecimal; public class Share { diff --git a/src/main/java/Stock.java b/src/main/java/temppackage/Stock.java similarity index 96% rename from src/main/java/Stock.java rename to src/main/java/temppackage/Stock.java index 39c591e..dfa2c23 100644 --- a/src/main/java/Stock.java +++ b/src/main/java/temppackage/Stock.java @@ -1,3 +1,5 @@ +package temppackage; + import java.math.BigDecimal; import java.util.List; diff --git a/src/main/java/temppackage/calculators/PurchaseCalculator.java b/src/main/java/temppackage/calculators/PurchaseCalculator.java new file mode 100644 index 0000000..9f6dc06 --- /dev/null +++ b/src/main/java/temppackage/calculators/PurchaseCalculator.java @@ -0,0 +1,31 @@ +package temppackage.calculators; + +import temppackage.Share; + +import java.math.BigDecimal; + +public class PurchaseCalculator implements TransactionCalculator { + BigDecimal purchasePrice; + BigDecimal quantity; + public PurchaseCalculator(Share share) { + super(); + this.purchasePrice = share.getPurchasePrice(); + this.quantity = share.getQuantity(); + } + @Override + public BigDecimal calculateGross() { + return this.purchasePrice.multiply(this.quantity); + } + @Override + public BigDecimal calculateComission() { + return this.calculateGross().multiply(new BigDecimal("0.05")); + } + @Override + public BigDecimal calculateTax() { + return new BigDecimal("0"); + } + @Override + public BigDecimal calculateTotal() { + return this.calculateGross().add(this.calculateTax().add(this.calculateComission())) ; + } +} diff --git a/src/main/java/temppackage/calculators/SaleCalculator.java b/src/main/java/temppackage/calculators/SaleCalculator.java new file mode 100644 index 0000000..7a29444 --- /dev/null +++ b/src/main/java/temppackage/calculators/SaleCalculator.java @@ -0,0 +1,14 @@ +package temppackage.calculators; + +import java.math.BigDecimal; +import temppackage.Share; + +public class SaleCalculator { + BigDecimal purchasePrice; + BigDecimal salesPrice; + BigDecimal quantity; + public SaleCalculator(Share share) { + super(); + this.purchasePrice = share.getPurchasePrice(); + } +} diff --git a/src/main/java/calculators/TransactionCalculator.java b/src/main/java/temppackage/calculators/TransactionCalculator.java similarity index 87% rename from src/main/java/calculators/TransactionCalculator.java rename to src/main/java/temppackage/calculators/TransactionCalculator.java index 741c56a..de2e179 100644 --- a/src/main/java/calculators/TransactionCalculator.java +++ b/src/main/java/temppackage/calculators/TransactionCalculator.java @@ -1,4 +1,4 @@ -package calculators; +package temppackage.calculators; import java.math.BigDecimal;