diff --git a/src/main/entities/Expense.java b/src/main/entities/Expense.java index 872c969..86fe970 100644 --- a/src/main/entities/Expense.java +++ b/src/main/entities/Expense.java @@ -1,32 +1,45 @@ package main.entities; +import java.time.LocalDate; import java.util.ArrayList; import java.util.List; public class Expense { - private String id; + private String expenseName; private double amount; private String description; - private User paidBy; private List participants; private String category; // stores what category the expense should be + private User paiedBy; private boolean settled; + private String date; - public Expense(String id, double amount, String description, User paidBy) { - this.id = id; - this.amount = amount; + public Expense(String expenseName, + String description, + double amount, + String category, + ArrayList participants, + User paiedBy) { + this.expenseName = expenseName; this.description = description; - this.paidBy = paidBy; - this.participants = new ArrayList<>(); + this.amount = amount; + this.category = category; + this.participants = participants; + this.paiedBy = paiedBy; this.settled = false; + this.date = String.valueOf(LocalDate.now()); } // Getters and setters - public String getId() { return id; } + public String getExpenseName() { return expenseName; } public double getAmount() { return amount; } public String getDescription() { return description; } - public User getPaidBy() { return paidBy; } + public String getCategory() { return category; } public List getParticipants() { return participants; } + public User getPaiedBy() { return paiedBy; } + public boolean getSettled() { return settled; } + public String getDate() { return date; } + public void setSettled(boolean newSettled) {this.settled = newSettled; } public void addParticipant(User user) { if (!participants.contains(user)) { @@ -38,6 +51,4 @@ public double calculateEqualShare() { if (participants.isEmpty()) return 0; return amount / participants.size(); } - - public String getCategory() { return category;} } diff --git a/src/main/entities/ExpenseFactory.java b/src/main/entities/ExpenseFactory.java new file mode 100644 index 0000000..2b30967 --- /dev/null +++ b/src/main/entities/ExpenseFactory.java @@ -0,0 +1,15 @@ +package main.entities; + +import java.util.ArrayList; + +public class ExpenseFactory { + public Expense create(String expenseName, + String description, + double amount, + String category, + ArrayList participants, + User paidedBy) { + return new Expense(expenseName, description, amount, category, participants, paidedBy); + } + +} \ No newline at end of file