#421 Create PluginHooks

- PluginHooks manages third-party plugins and allows to perform actions and queries on them, instead of public fields on the AuthMe main class
This commit is contained in:
ljacqu
2016-03-12 08:50:26 +01:00
parent 45fd241517
commit 8b27444a49
12 changed files with 273 additions and 186 deletions
@@ -2,6 +2,7 @@ package fr.xephi.authme.process;
import fr.xephi.authme.AuthMe;
import fr.xephi.authme.cache.IpAddressManager;
import fr.xephi.authme.hooks.PluginHooks;
import fr.xephi.authme.output.MessageKey;
import fr.xephi.authme.output.Messages;
import fr.xephi.authme.security.PasswordSecurity;
@@ -22,14 +23,16 @@ public class ProcessService {
private final AuthMe authMe;
private final IpAddressManager ipAddressManager;
private final PasswordSecurity passwordSecurity;
private final PluginHooks pluginHooks;
public ProcessService(NewSetting settings, Messages messages, AuthMe authMe, IpAddressManager ipAddressManager,
PasswordSecurity passwordSecurity) {
PasswordSecurity passwordSecurity, PluginHooks pluginHooks) {
this.settings = settings;
this.messages = messages;
this.authMe = authMe;
this.ipAddressManager = ipAddressManager;
this.passwordSecurity = passwordSecurity;
this.pluginHooks = pluginHooks;
}
public <T> T getProperty(Property<T> property) {
@@ -84,4 +87,8 @@ public class ProcessService {
return passwordSecurity.computeHash(password, username);
}
public PluginHooks getPluginHooks() {
return pluginHooks;
}
}