Use parametrized reflection to remove warnings
This commit is contained in:
parent
9ecdf8b4ba
commit
61232549e4
@ -18,7 +18,7 @@ public interface PluginManager {
|
|||||||
* @param loader Class name of the PluginLoader to register
|
* @param loader Class name of the PluginLoader to register
|
||||||
* @throws IllegalArgumentException Thrown when the given Class is not a valid PluginLoader
|
* @throws IllegalArgumentException Thrown when the given Class is not a valid PluginLoader
|
||||||
*/
|
*/
|
||||||
public void RegisterInterface(Class loader) throws IllegalArgumentException;
|
public void RegisterInterface(Class<? extends PluginLoader> loader) throws IllegalArgumentException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if the given plugin is loaded and returns it when applicable
|
* Checks if the given plugin is loaded and returns it when applicable
|
||||||
|
@ -39,14 +39,14 @@ public final class SimplePluginManager implements PluginManager {
|
|||||||
* @param loader Class name of the PluginLoader to register
|
* @param loader Class name of the PluginLoader to register
|
||||||
* @throws IllegalArgumentException Thrown when the given Class is not a valid PluginLoader
|
* @throws IllegalArgumentException Thrown when the given Class is not a valid PluginLoader
|
||||||
*/
|
*/
|
||||||
public void RegisterInterface(Class loader) throws IllegalArgumentException {
|
public void RegisterInterface(Class<? extends PluginLoader> loader) throws IllegalArgumentException {
|
||||||
PluginLoader instance;
|
PluginLoader instance;
|
||||||
|
|
||||||
if (PluginLoader.class.isAssignableFrom(loader)) {
|
if (PluginLoader.class.isAssignableFrom(loader)) {
|
||||||
Constructor constructor;
|
Constructor<? extends PluginLoader> constructor;
|
||||||
try {
|
try {
|
||||||
constructor = loader.getConstructor(Server.class);
|
constructor = loader.getConstructor(Server.class);
|
||||||
instance = (PluginLoader) constructor.newInstance(server);
|
instance = constructor.newInstance(server);
|
||||||
} catch (NoSuchMethodException ex) {
|
} catch (NoSuchMethodException ex) {
|
||||||
throw new IllegalArgumentException(String.format("Class %s does not have a public %s(Server) constructor", loader.getName()), ex);
|
throw new IllegalArgumentException(String.format("Class %s does not have a public %s(Server) constructor", loader.getName()), ex);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user