Skip to content

Commit 07d7ea3

Browse files
committed
spilt api interface (part 5)
1 parent 6819e12 commit 07d7ea3

File tree

5 files changed

+37
-16
lines changed

5 files changed

+37
-16
lines changed

src/main/java/org/maxgamer/quickshop/QuickShop.java

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,15 @@
4545
import org.jetbrains.annotations.Nullable;
4646
import org.maxgamer.quickshop.api.QuickShopAPI;
4747
import org.maxgamer.quickshop.api.chat.QuickChat;
48+
import org.maxgamer.quickshop.api.command.CommandManager;
4849
import org.maxgamer.quickshop.api.compatibility.CompatibilityManager;
50+
import org.maxgamer.quickshop.api.database.DatabaseHelper;
4951
import org.maxgamer.quickshop.api.economy.EconomyCore;
5052
import org.maxgamer.quickshop.api.integration.IntegrateStage;
5153
import org.maxgamer.quickshop.api.integration.IntegrationManager;
5254
import org.maxgamer.quickshop.api.localization.text.TextManager;
5355
import org.maxgamer.quickshop.api.shop.AbstractDisplayItem;
56+
import org.maxgamer.quickshop.api.shop.ItemMatcher;
5457
import org.maxgamer.quickshop.api.shop.Shop;
5558
import org.maxgamer.quickshop.api.shop.ShopManager;
5659
import org.maxgamer.quickshop.chat.platform.minedown.BungeeQuickChat;
@@ -73,7 +76,6 @@
7376
import org.maxgamer.quickshop.util.config.ConfigurationFixer;
7477
import org.maxgamer.quickshop.util.envcheck.*;
7578
import org.maxgamer.quickshop.util.matcher.item.BukkitItemMatcherImpl;
76-
import org.maxgamer.quickshop.api.shop.ItemMatcher;
7779
import org.maxgamer.quickshop.util.matcher.item.QuickShopItemMatcherImpl;
7880
import org.maxgamer.quickshop.util.reload.ReloadManager;
7981
import org.maxgamer.quickshop.util.reporter.error.RollbarErrorReporter;
@@ -96,16 +98,14 @@
9698
public class QuickShop extends JavaPlugin implements QuickShopAPI {
9799

98100
/* Public QuickShop API */
99-
@Getter
100101
private final JavaCompatibilityManager compatibilityTool = new JavaCompatibilityManager(this);
101102
private JavaIntegrationManager integrationHelper;
102-
@Getter
103103
private JavaDatabaseHelper databaseHelper;
104-
@Getter
105104
private JavaCommandManager commandManager;
106105
private ItemMatcher itemMatcher;
107106
private JavaShopManager shopManager;
108107
private JavaTextManager textManager;
108+
private boolean priceChangeRequiresFee = false;
109109
/* Public QuickShop API End */
110110

111111
/**
@@ -197,12 +197,7 @@ public class QuickShop extends JavaPlugin implements QuickShopAPI {
197197
*/
198198
@Getter
199199
private PermissionChecker permissionChecker;
200-
/**
201-
* Whether we players are charged a fee to change the price on their shop (To help deter endless
202-
* undercutting
203-
*/
204-
@Getter
205-
private boolean priceChangeRequiresFee = false;
200+
206201
/**
207202
* The error reporter to help devs report errors to Sentry.io
208203
*/
@@ -1992,6 +1987,11 @@ public boolean isLimit() {
19921987
return this.limit;
19931988
}
19941989

1990+
@Override
1991+
public DatabaseHelper getDatabaseHelper() {
1992+
return this.databaseHelper;
1993+
}
1994+
19951995
@Override
19961996
public TextManager getTextManager() {
19971997
return this.textManager;
@@ -2001,4 +2001,14 @@ public TextManager getTextManager() {
20012001
public ItemMatcher getItemMatcher() {
20022002
return this.itemMatcher;
20032003
}
2004+
2005+
@Override
2006+
public boolean isPriceChangeRequiresFee() {
2007+
return this.priceChangeRequiresFee;
2008+
}
2009+
2010+
@Override
2011+
public CommandManager getCommandManager() {
2012+
return this.commandManager;
2013+
}
20042014
}

src/main/java/org/maxgamer/quickshop/api/QuickShopAPI.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.maxgamer.quickshop.api;
22

3+
import org.maxgamer.quickshop.api.command.CommandManager;
34
import org.maxgamer.quickshop.api.compatibility.CompatibilityManager;
45
import org.maxgamer.quickshop.api.database.DatabaseHelper;
56
import org.maxgamer.quickshop.api.localization.text.TextManager;
@@ -24,4 +25,8 @@ public interface QuickShopAPI {
2425

2526
ItemMatcher getItemMatcher();
2627

28+
boolean isPriceChangeRequiresFee();
29+
30+
CommandManager getCommandManager();
31+
2732
}

src/main/java/org/maxgamer/quickshop/command/JavaCommandManager.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343

4444
@Data
4545
@SuppressWarnings("unchecked")
46-
public class JavaCommandManager implements TabCompleter, CommandExecutor {
46+
public class JavaCommandManager implements CommandManager, TabCompleter, CommandExecutor {
4747
private static final String[] EMPTY_ARGS = new String[0];
4848
private final Set<CommandContainer> cmds = Sets.newCopyOnWriteArraySet(); //Because we open to allow register, so this should be thread-safe
4949
private final QuickShop plugin;
@@ -347,6 +347,7 @@ public JavaCommandManager(QuickShop plugin) {
347347
* @param container The command container to register
348348
* @throws IllegalStateException Will throw the error if register conflict.
349349
*/
350+
@Override
350351
public void registerCmd(@NotNull CommandContainer container) {
351352
if (cmds.contains(container)) {
352353
Util.debugLog("Dupe subcommand registering: " + container);
@@ -362,6 +363,7 @@ public void registerCmd(@NotNull CommandContainer container) {
362363
*
363364
* @param container The command container to unregister
364365
*/
366+
@Override
365367
public void unregisterCmd(@NotNull CommandContainer container) {
366368
cmds.remove(container);
367369
}
@@ -371,6 +373,7 @@ public void unregisterCmd(@NotNull CommandContainer container) {
371373
*
372374
* @return All registered commands.
373375
*/
376+
@Override
374377
@NotNull
375378
public List<CommandContainer> getRegisteredCommands() {
376379
return new ArrayList<>(this.getCmds());
@@ -442,11 +445,13 @@ public boolean onCommand(
442445
/**
443446
* Method for capturing generic type
444447
*/
445-
private <T1, T2 extends T1> T2 capture(T1 type) {
448+
@Override
449+
public <T1, T2 extends T1> T2 capture(T1 type) {
446450
return (T2) type;
447451
}
448452

449-
private boolean checkPermissions(CommandSender sender, String commandLabel, String[] cmdArg, List<String> permissionList, CommandManager.PermissionType permissionType, CommandManager.Action action) {
453+
@Override
454+
public boolean checkPermissions(CommandSender sender, String commandLabel, String[] cmdArg, List<String> permissionList, CommandManager.PermissionType permissionType, CommandManager.Action action) {
450455
if (permissionList == null || permissionList.isEmpty()) {
451456
return true;
452457
}
@@ -490,7 +495,8 @@ private boolean checkPermissions(CommandSender sender, String commandLabel, Stri
490495
}
491496

492497

493-
private boolean isAdapt(CommandContainer container, CommandSender sender) {
498+
@Override
499+
public boolean isAdapt(CommandContainer container, CommandSender sender) {
494500
return container.getExecutorType().isInstance(sender);
495501
}
496502

src/main/java/org/maxgamer/quickshop/command/subcommand/SubCommand_Help.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ private void sendHelp(@NotNull CommandSender s, @NotNull String commandLabel) {
4444
plugin.text().of(s, "command.description.title").send();
4545

4646
commandPrintingLoop:
47-
for (CommandContainer container : plugin.getCommandManager().getCmds()) {
47+
for (CommandContainer container : plugin.getCommandManager().getRegisteredCommands()) {
4848
if (!container.isHidden()) {
4949
boolean passed = false;
5050
//selectivePermissions

src/main/java/org/maxgamer/quickshop/command/subcommand/SubCommand_ROOT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public void onCommand(@NotNull CommandSender sender, @NotNull String commandLabe
4646
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull String commandLabel, @NotNull String[] strings) {
4747
final List<String> candidate = new ArrayList<>();
4848

49-
for (CommandContainer container : plugin.getCommandManager().getCmds()) {
49+
for (CommandContainer container : plugin.getCommandManager().getRegisteredCommands()) {
5050
if (!container.getPrefix().startsWith(strings[0])
5151
&& !container.getPrefix().equals(strings[0])) {
5252
continue;

0 commit comments

Comments
 (0)