From 0c5df4ec550f5554de8547c1dd497c5ae5ba383e Mon Sep 17 00:00:00 2001 From: Yushu <45738853+yusshu@users.noreply.github.com> Date: Mon, 12 Oct 2020 18:23:46 -0500 Subject: [PATCH] Add another Abstract Economy that doesn't support banks --- .../economy/NoBankSupportAbstractEconomy.java | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/main/java/net/milkbowl/vault/economy/NoBankSupportAbstractEconomy.java diff --git a/src/main/java/net/milkbowl/vault/economy/NoBankSupportAbstractEconomy.java b/src/main/java/net/milkbowl/vault/economy/NoBankSupportAbstractEconomy.java new file mode 100644 index 0000000..ffaca61 --- /dev/null +++ b/src/main/java/net/milkbowl/vault/economy/NoBankSupportAbstractEconomy.java @@ -0,0 +1,74 @@ +package net.milkbowl.vault.economy; + +import java.util.List; +import java.util.Collections; + +/** +* Abstract class that removes the responsibility of implement +* Bank methods for child classes that doesn't support banks +*/ +public abstract class NoBankSupportEconomy extends AbstractEconomy { + + // EconomyResponse class is immutable, it doesn't require the creation + // of more objects to return the same response + private final EconomyResponse response; + + public NoBankSupportEconomy(String unsupportedMessage) { + this.response = new EconomyResponse(0, 0, EconomyResponse.ResponseType.NOT_IMPLEMENTED, unsupportedMessage); + } + + public NoBankSupportEconomy() { + this("This economy manager doesn't support banks!"); + } + + @Override + public boolean hasBankSupport() { + return false; + } + + @Override + public EconomyResponse createBank(String name, String playerName) { + return response; + } + + @Override + public EconomyResponse deleteBank(String name) { + return response; + } + + @Override + public EconomyResponse bankBalance(String name) { + return response; + } + + @Override + public EconomyResponse bankHas(String name, double amount) { + return response; + } + + @Override + public EconomyResponse bankWithdraw(String name, double amount) { + return response; + } + + @Override + public EconomyResponse bankDeposit(String name, double amount) { + return response; + } + + @Override + public EconomyResponse isBankOwner(String name, String playerName) { + return response; + } + + @Override + public EconomyResponse isBankMember(String name, String playerName) { + return response; + } + + @Override + public List getBanks() { + return Collections.emptyList(); + } + +}