diff --git a/src/main/java/entities/Categories.java b/src/main/java/entities/Categories.java new file mode 100644 index 0000000..43bda11 --- /dev/null +++ b/src/main/java/entities/Categories.java @@ -0,0 +1,33 @@ +package entities; + +public class Categories { + + public enum ExpenseCategory { + CREDIT, BUY, BUSINESS, ENTERTAINMENT, RESTAURANTS_AND_CAFE, COMMUNAL_PAYMENTS, SUPERMARKET, MISC; + + public String getEffectiveName() { + return Categories.getEffectiveName(this.name()); + } + } + + public enum IncomeCategory { + P2P, SALARY, GIFT, CREDIT, MISC; + + public String getEffectiveName() { + return Categories.getEffectiveName(this.name()); + } + } + + private static String getEffectiveName(String name) { + String[] arr = name.split("_"); + StringBuilder result = new StringBuilder(); + for(String entry : arr) { + String[] entryArr = entry.split(""); + StringBuilder builder = new StringBuilder(entryArr[0]); + for(int i = 1; i < entry.length(); i++) builder.append(entryArr[i].toLowerCase()); + result.append(builder).append(" "); + } + return result.toString(); + } + +} diff --git a/src/main/java/entities/Expense.java b/src/main/java/entities/Expense.java index 606e4eb..c6b2c3b 100644 --- a/src/main/java/entities/Expense.java +++ b/src/main/java/entities/Expense.java @@ -1,12 +1,12 @@ package entities; -public class Expense extends MoneyTransaction { +public class Expense implements IMoneyTransaction { private int userId; private int amount; - private ExpensesCategory category; + private Categories.ExpenseCategory category; - public Expense(int userId, int amount, ExpensesCategory category) { + public Expense(int userId, int amount, Categories.ExpenseCategory category) { this.userId = userId; this.amount = amount; this.category = category; @@ -32,10 +32,10 @@ public class Expense extends MoneyTransaction { @Override public String getCategory() { - return category.toString(); + return category.getEffectiveName(); } - public void setCategory(ExpensesCategory category) { + public void setCategory(Categories.ExpenseCategory category) { this.category = category; } } diff --git a/src/main/java/entities/ExpensesCategory.java b/src/main/java/entities/ExpensesCategory.java deleted file mode 100644 index bf76cc7..0000000 --- a/src/main/java/entities/ExpensesCategory.java +++ /dev/null @@ -1,5 +0,0 @@ -package entities; - -public enum ExpensesCategory { - MISC; -} diff --git a/src/main/java/entities/IMoneyTransaction.java b/src/main/java/entities/IMoneyTransaction.java new file mode 100644 index 0000000..70b92d5 --- /dev/null +++ b/src/main/java/entities/IMoneyTransaction.java @@ -0,0 +1,9 @@ +package entities; + +public interface IMoneyTransaction { + + long getUserId(); + int getAmount(); + String getCategory(); + +} diff --git a/src/main/java/entities/Income.java b/src/main/java/entities/Income.java index f3edc27..31b5d67 100644 --- a/src/main/java/entities/Income.java +++ b/src/main/java/entities/Income.java @@ -1,12 +1,12 @@ package entities; -public class Income extends MoneyTransaction { +public class Income implements IMoneyTransaction { private long userId; private int amount; - private IncomeCategory category; + private Categories.IncomeCategory category; - public Income(long userId, int amount, IncomeCategory category) { + public Income(long userId, int amount, Categories.IncomeCategory category) { this.userId = userId; this.amount = amount; this.category = category; @@ -24,7 +24,7 @@ public class Income extends MoneyTransaction { @Override public String getCategory() { - return category.toString(); + return category.getEffectiveName(); } public void setUserId(long userId) { @@ -35,7 +35,7 @@ public class Income extends MoneyTransaction { this.amount = amount; } - public void setCategory(IncomeCategory category) { + public void setCategory(Categories.IncomeCategory category) { this.category = category; } } diff --git a/src/main/java/entities/IncomeCategory.java b/src/main/java/entities/IncomeCategory.java deleted file mode 100644 index 7d1666c..0000000 --- a/src/main/java/entities/IncomeCategory.java +++ /dev/null @@ -1,5 +0,0 @@ -package entities; - -public enum IncomeCategory { - MISC; -} diff --git a/src/main/java/entities/MoneyTransaction.java b/src/main/java/entities/MoneyTransaction.java deleted file mode 100644 index 2232df4..0000000 --- a/src/main/java/entities/MoneyTransaction.java +++ /dev/null @@ -1,9 +0,0 @@ -package entities; - -public abstract class MoneyTransaction { - - public abstract long getUserId(); - public abstract int getAmount(); - public abstract String getCategory(); - -}