package com.code44.finance.common.model;
public enum TransactionType {
Expense(TransactionType.VALUE_EXPENSE),
Income(TransactionType.VALUE_INCOME),
Transfer(TransactionType.VALUE_TRANSFER);
private static final int VALUE_EXPENSE = 1;
private static final int VALUE_INCOME = 2;
private static final int VALUE_TRANSFER = 3;
private final int value;
private TransactionType(int value) {
this.value = value;
}
public static TransactionType fromInt(int value) {
switch (value) {
case VALUE_EXPENSE:
return Expense;
case VALUE_INCOME:
return Income;
case VALUE_TRANSFER:
return Transfer;
default:
throw new IllegalArgumentException("Value " + value + " is not supported.");
}
}
public int asInt() {
return value;
}
public String asString() {
return String.valueOf(value);
}
}