org.bukkit.plugin
Class SimplePluginManager

java.lang.Object
  extended by org.bukkit.plugin.SimplePluginManager
All Implemented Interfaces:
PluginManager

public final class SimplePluginManager
extends Object
implements PluginManager

Handles all plugin management from the Server


Constructor Summary
SimplePluginManager(Server instance, SimpleCommandMap commandMap)
           
 
Method Summary
 void addPermission(Permission perm)
          Adds a Permission to this plugin manager.
 void callEvent(Event event)
          Calls an event with the given details.
This method only synchronizes when the event is not asynchronous.
 void clearPlugins()
          Disables and removes all plugins
 void disablePlugin(Plugin plugin)
          Disables the specified plugin
 void disablePlugins()
          Disables all the loaded plugins
 void enablePlugin(Plugin plugin)
          Enables the specified plugin
 Set<Permission> getDefaultPermissions(boolean op)
          Gets the default permissions for the given op status
 Set<Permissible> getDefaultPermSubscriptions(boolean op)
          Gets a set containing all subscribed Permissibles to the given default list, by op status
 Permission getPermission(String name)
          Gets a Permission from its fully qualified name
 Set<Permission> getPermissions()
          Gets a set of all registered permissions.
 Set<Permissible> getPermissionSubscriptions(String permission)
          Gets a set containing all subscribed Permissibles to the given permission, by name
 Plugin getPlugin(String name)
          Checks if the given plugin is loaded and returns it when applicable
 Plugin[] getPlugins()
          Gets a list of all currently loaded plugins
 boolean isPluginEnabled(Plugin plugin)
          Checks if the given plugin is enabled or not
 boolean isPluginEnabled(String name)
          Checks if the given plugin is enabled or not
 Plugin loadPlugin(File file)
          Loads the plugin in the specified file
 Plugin[] loadPlugins(File directory)
          Loads the plugins contained within the specified directory
 void recalculatePermissionDefaults(Permission perm)
          Recalculates the defaults for the given Permission.
 void registerEvent(Class<? extends Event> event, Listener listener, EventPriority priority, EventExecutor executor, Plugin plugin)
          Registers the specified executor to the given event class
 void registerEvent(Class<? extends Event> event, Listener listener, EventPriority priority, EventExecutor executor, Plugin plugin, boolean ignoreCancelled)
          Registers the given event to the specified listener using a directly passed EventExecutor
 void registerEvents(Listener listener, Plugin plugin)
          Registers all the events in the given listener class
 void registerInterface(Class<? extends PluginLoader> loader)
          Registers the specified plugin loader
 void removePermission(Permission perm)
          Removes a Permission registration from this plugin manager.
 void removePermission(String name)
          Removes a Permission registration from this plugin manager.
 void subscribeToDefaultPerms(boolean op, Permissible permissible)
          Subscribes to the given Default permissions by operator status
 void subscribeToPermission(String permission, Permissible permissible)
          Subscribes the given Permissible for information about the requested Permission, by name.
 void unsubscribeFromDefaultPerms(boolean op, Permissible permissible)
          Unsubscribes from the given Default permissions by operator status
 void unsubscribeFromPermission(String permission, Permissible permissible)
          Unsubscribes the given Permissible for information about the requested Permission, by name.
 boolean useTimings()
          Returns whether or not timing code should be used for event calls
 void useTimings(boolean use)
          Sets whether or not per event timing code should be used
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimplePluginManager

public SimplePluginManager(Server instance,
                           SimpleCommandMap commandMap)
Method Detail

registerInterface

public void registerInterface(Class<? extends PluginLoader> loader)
                       throws IllegalArgumentException
Registers the specified plugin loader

Specified by:
registerInterface in interface PluginManager
Parameters:
loader - Class name of the PluginLoader to register
Throws:
IllegalArgumentException - Thrown when the given Class is not a valid PluginLoader

loadPlugins

public Plugin[] loadPlugins(File directory)
Loads the plugins contained within the specified directory

Specified by:
loadPlugins in interface PluginManager
Parameters:
directory - Directory to check for plugins
Returns:
A list of all plugins loaded

loadPlugin

public Plugin loadPlugin(File file)
                  throws InvalidPluginException,
                         UnknownDependencyException
Loads the plugin in the specified file

File must be valid according to the current enabled Plugin interfaces

Specified by:
loadPlugin in interface PluginManager
Parameters:
file - File containing the plugin to load
Returns:
The Plugin loaded, or null if it was invalid
Throws:
InvalidPluginException - Thrown when the specified file is not a valid plugin
UnknownDependencyException - If a required dependency could not be found

getPlugin

public Plugin getPlugin(String name)
Checks if the given plugin is loaded and returns it when applicable

Please note that the name of the plugin is case-sensitive

Specified by:
getPlugin in interface PluginManager
Parameters:
name - Name of the plugin to check
Returns:
Plugin if it exists, otherwise null

getPlugins

public Plugin[] getPlugins()
Description copied from interface: PluginManager
Gets a list of all currently loaded plugins

Specified by:
getPlugins in interface PluginManager
Returns:
Array of Plugins

isPluginEnabled

public boolean isPluginEnabled(String name)
Checks if the given plugin is enabled or not

Please note that the name of the plugin is case-sensitive.

Specified by:
isPluginEnabled in interface PluginManager
Parameters:
name - Name of the plugin to check
Returns:
true if the plugin is enabled, otherwise false

isPluginEnabled

public boolean isPluginEnabled(Plugin plugin)
Checks if the given plugin is enabled or not

Specified by:
isPluginEnabled in interface PluginManager
Parameters:
plugin - Plugin to check
Returns:
true if the plugin is enabled, otherwise false

enablePlugin

public void enablePlugin(Plugin plugin)
Description copied from interface: PluginManager
Enables the specified plugin

Attempting to enable a plugin that is already enabled will have no effect

Specified by:
enablePlugin in interface PluginManager
Parameters:
plugin - Plugin to enable

disablePlugins

public void disablePlugins()
Description copied from interface: PluginManager
Disables all the loaded plugins

Specified by:
disablePlugins in interface PluginManager

disablePlugin

public void disablePlugin(Plugin plugin)
Description copied from interface: PluginManager
Disables the specified plugin

Attempting to disable a plugin that is not enabled will have no effect

Specified by:
disablePlugin in interface PluginManager
Parameters:
plugin - Plugin to disable

clearPlugins

public void clearPlugins()
Description copied from interface: PluginManager
Disables and removes all plugins

Specified by:
clearPlugins in interface PluginManager

callEvent

public void callEvent(Event event)
Calls an event with the given details.
This method only synchronizes when the event is not asynchronous.

Specified by:
callEvent in interface PluginManager
Parameters:
event - Event details

registerEvents

public void registerEvents(Listener listener,
                           Plugin plugin)
Description copied from interface: PluginManager
Registers all the events in the given listener class

Specified by:
registerEvents in interface PluginManager
Parameters:
listener - Listener to register
plugin - Plugin to register

registerEvent

public void registerEvent(Class<? extends Event> event,
                          Listener listener,
                          EventPriority priority,
                          EventExecutor executor,
                          Plugin plugin)
Description copied from interface: PluginManager
Registers the specified executor to the given event class

Specified by:
registerEvent in interface PluginManager
Parameters:
event - Event type to register
listener - Listener to register
priority - Priority to register this event at
executor - EventExecutor to register
plugin - Plugin to register

registerEvent

public void registerEvent(Class<? extends Event> event,
                          Listener listener,
                          EventPriority priority,
                          EventExecutor executor,
                          Plugin plugin,
                          boolean ignoreCancelled)
Registers the given event to the specified listener using a directly passed EventExecutor

Specified by:
registerEvent in interface PluginManager
Parameters:
event - Event class to register
listener - PlayerListener to register
priority - Priority of this event
executor - EventExecutor to register
plugin - Plugin to register
ignoreCancelled - Do not call executor if event was already cancelled

getPermission

public Permission getPermission(String name)
Description copied from interface: PluginManager
Gets a Permission from its fully qualified name

Specified by:
getPermission in interface PluginManager
Parameters:
name - Name of the permission
Returns:
Permission, or null if none

addPermission

public void addPermission(Permission perm)
Description copied from interface: PluginManager
Adds a Permission to this plugin manager.

If a permission is already defined with the given name of the new permission, an exception will be thrown.

Specified by:
addPermission in interface PluginManager
Parameters:
perm - Permission to add

getDefaultPermissions

public Set<Permission> getDefaultPermissions(boolean op)
Description copied from interface: PluginManager
Gets the default permissions for the given op status

Specified by:
getDefaultPermissions in interface PluginManager
Parameters:
op - Which set of default permissions to get
Returns:
The default permissions

removePermission

public void removePermission(Permission perm)
Description copied from interface: PluginManager
Removes a Permission registration from this plugin manager.

If the specified permission does not exist in this plugin manager, nothing will happen.

Removing a permission registration will not remove the permission from any Permissibles that have it.

Specified by:
removePermission in interface PluginManager
Parameters:
perm - Permission to remove

removePermission

public void removePermission(String name)
Description copied from interface: PluginManager
Removes a Permission registration from this plugin manager.

If the specified permission does not exist in this plugin manager, nothing will happen.

Removing a permission registration will not remove the permission from any Permissibles that have it.

Specified by:
removePermission in interface PluginManager
Parameters:
name - Permission to remove

recalculatePermissionDefaults

public void recalculatePermissionDefaults(Permission perm)
Description copied from interface: PluginManager
Recalculates the defaults for the given Permission.

This will have no effect if the specified permission is not registered here.

Specified by:
recalculatePermissionDefaults in interface PluginManager
Parameters:
perm - Permission to recalculate

subscribeToPermission

public void subscribeToPermission(String permission,
                                  Permissible permissible)
Description copied from interface: PluginManager
Subscribes the given Permissible for information about the requested Permission, by name.

If the specified Permission changes in any form, the Permissible will be asked to recalculate.

Specified by:
subscribeToPermission in interface PluginManager
Parameters:
permission - Permission to subscribe to
permissible - Permissible subscribing

unsubscribeFromPermission

public void unsubscribeFromPermission(String permission,
                                      Permissible permissible)
Description copied from interface: PluginManager
Unsubscribes the given Permissible for information about the requested Permission, by name.

Specified by:
unsubscribeFromPermission in interface PluginManager
Parameters:
permission - Permission to unsubscribe from
permissible - Permissible subscribing

getPermissionSubscriptions

public Set<Permissible> getPermissionSubscriptions(String permission)
Description copied from interface: PluginManager
Gets a set containing all subscribed Permissibles to the given permission, by name

Specified by:
getPermissionSubscriptions in interface PluginManager
Parameters:
permission - Permission to query for
Returns:
Set containing all subscribed permissions

subscribeToDefaultPerms

public void subscribeToDefaultPerms(boolean op,
                                    Permissible permissible)
Description copied from interface: PluginManager
Subscribes to the given Default permissions by operator status

If the specified defaults change in any form, the Permissible will be asked to recalculate.

Specified by:
subscribeToDefaultPerms in interface PluginManager
Parameters:
op - Default list to subscribe to
permissible - Permissible subscribing

unsubscribeFromDefaultPerms

public void unsubscribeFromDefaultPerms(boolean op,
                                        Permissible permissible)
Description copied from interface: PluginManager
Unsubscribes from the given Default permissions by operator status

Specified by:
unsubscribeFromDefaultPerms in interface PluginManager
Parameters:
op - Default list to unsubscribe from
permissible - Permissible subscribing

getDefaultPermSubscriptions

public Set<Permissible> getDefaultPermSubscriptions(boolean op)
Description copied from interface: PluginManager
Gets a set containing all subscribed Permissibles to the given default list, by op status

Specified by:
getDefaultPermSubscriptions in interface PluginManager
Parameters:
op - Default list to query for
Returns:
Set containing all subscribed permissions

getPermissions

public Set<Permission> getPermissions()
Description copied from interface: PluginManager
Gets a set of all registered permissions.

This set is a copy and will not be modified live.

Specified by:
getPermissions in interface PluginManager
Returns:
Set containing all current registered permissions

useTimings

public boolean useTimings()
Description copied from interface: PluginManager
Returns whether or not timing code should be used for event calls

Specified by:
useTimings in interface PluginManager
Returns:
True if event timings are to be used

useTimings

public void useTimings(boolean use)
Sets whether or not per event timing code should be used

Parameters:
use - True if per event timing code should be used


Copyright © 2013. All Rights Reserved.