Use parametrized reflection to remove warnings

This commit is contained in:
durron597 2011-01-01 17:08:32 -05:00
parent 9ecdf8b4ba
commit 61232549e4
2 changed files with 4 additions and 4 deletions

View File

@ -18,7 +18,7 @@ public interface PluginManager {
* @param loader Class name of the PluginLoader to register
* @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

View File

@ -39,14 +39,14 @@ public final class SimplePluginManager implements PluginManager {
* @param loader Class name of the PluginLoader to register
* @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;
if (PluginLoader.class.isAssignableFrom(loader)) {
Constructor constructor;
Constructor<? extends PluginLoader> constructor;
try {
constructor = loader.getConstructor(Server.class);
instance = (PluginLoader) constructor.newInstance(server);
instance = constructor.newInstance(server);
} catch (NoSuchMethodException ex) {
throw new IllegalArgumentException(String.format("Class %s does not have a public %s(Server) constructor", loader.getName()), ex);
} catch (Exception ex) {