org.bukkit.plugin
Interface PluginManager

All Known Implementing Classes:
SimplePluginManager

public interface PluginManager

Handles all plugin management from the Server


Method Summary
 void addPermission(Permission perm)
          Adds a Permission to this plugin manager.
 void callEvent(Event event)
          Calls an event with the given details
 void clearPlugins()
          Disables and removes all plugins
 void disablePlugin(Plugin plugin)
          Disables the specified plugin

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

 void disablePlugins()
          Disables all the loaded plugins
 void enablePlugin(Plugin plugin)
          Enables the specified plugin

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

 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

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

 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

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

 Plugin loadPlugin(File file)
          Loads the plugin in the specified file

File must be valid according to the current enabled Plugin interfaces

 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 specified executor to the given event class
 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

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

 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
 

Method Detail

registerInterface

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

Parameters:
loader - Class name of the PluginLoader to register
Throws:
IllegalArgumentException - Thrown when the given Class is not a valid PluginLoader

getPlugin

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

Parameters:
name - Name of the plugin to check
Returns:
Plugin if it exists, otherwise null

getPlugins

Plugin[] getPlugins()
Gets a list of all currently loaded plugins

Returns:
Array of Plugins

isPluginEnabled

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

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

Parameters:
name - Name of the plugin to check
Returns:
true if the plugin is enabled, otherwise false

isPluginEnabled

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

Parameters:
plugin - Plugin to check
Returns:
true if the plugin is enabled, otherwise false

loadPlugin

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

File must be valid according to the current enabled Plugin interfaces

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
InvalidDescriptionException - Thrown when the specified file contains an invalid description
UnknownDependencyException - If a required dependency could not be resolved

loadPlugins

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

Parameters:
directory - Directory to check for plugins
Returns:
A list of all plugins loaded

disablePlugins

void disablePlugins()
Disables all the loaded plugins


clearPlugins

void clearPlugins()
Disables and removes all plugins


callEvent

void callEvent(Event event)
               throws IllegalStateException
Calls an event with the given details

Parameters:
event - Event details
Throws:
IllegalStateException - Thrown when an asynchronous event is fired from synchronous code.
Note: This is best-effort basis, and should not be used to test synchronized state. This is an indicator for flawed flow logic.

registerEvents

void registerEvents(Listener listener,
                    Plugin plugin)
Registers all the events in the given listener class

Parameters:
listener - Listener to register
plugin - Plugin to register

registerEvent

void registerEvent(Class<? extends Event> event,
                   Listener listener,
                   EventPriority priority,
                   EventExecutor executor,
                   Plugin plugin)
Registers the specified executor to the given event class

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

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

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
ignoreCancelled - Whether to pass cancelled events or not

enablePlugin

void enablePlugin(Plugin plugin)
Enables the specified plugin

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

Parameters:
plugin - Plugin to enable

disablePlugin

void disablePlugin(Plugin plugin)
Disables the specified plugin

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

Parameters:
plugin - Plugin to disable

getPermission

Permission getPermission(String name)
Gets a Permission from its fully qualified name

Parameters:
name - Name of the permission
Returns:
Permission, or null if none

addPermission

void addPermission(Permission perm)
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.

Parameters:
perm - Permission to add
Throws:
IllegalArgumentException - Thrown when a permission with the same name already exists

removePermission

void removePermission(Permission perm)
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.

Parameters:
perm - Permission to remove

removePermission

void removePermission(String name)
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.

Parameters:
name - Permission to remove

getDefaultPermissions

Set<Permission> getDefaultPermissions(boolean op)
Gets the default permissions for the given op status

Parameters:
op - Which set of default permissions to get
Returns:
The default permissions

recalculatePermissionDefaults

void recalculatePermissionDefaults(Permission perm)
Recalculates the defaults for the given Permission.

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

Parameters:
perm - Permission to recalculate

subscribeToPermission

void subscribeToPermission(String permission,
                           Permissible permissible)
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.

Parameters:
permission - Permission to subscribe to
permissible - Permissible subscribing

unsubscribeFromPermission

void unsubscribeFromPermission(String permission,
                               Permissible permissible)
Unsubscribes the given Permissible for information about the requested Permission, by name.

Parameters:
permission - Permission to unsubscribe from
permissible - Permissible subscribing

getPermissionSubscriptions

Set<Permissible> getPermissionSubscriptions(String permission)
Gets a set containing all subscribed Permissibles to the given permission, by name

Parameters:
permission - Permission to query for
Returns:
Set containing all subscribed permissions

subscribeToDefaultPerms

void subscribeToDefaultPerms(boolean op,
                             Permissible permissible)
Subscribes to the given Default permissions by operator status

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

Parameters:
op - Default list to subscribe to
permissible - Permissible subscribing

unsubscribeFromDefaultPerms

void unsubscribeFromDefaultPerms(boolean op,
                                 Permissible permissible)
Unsubscribes from the given Default permissions by operator status

Parameters:
op - Default list to unsubscribe from
permissible - Permissible subscribing

getDefaultPermSubscriptions

Set<Permissible> getDefaultPermSubscriptions(boolean op)
Gets a set containing all subscribed Permissibles to the given default list, by op status

Parameters:
op - Default list to query for
Returns:
Set containing all subscribed permissions

getPermissions

Set<Permission> getPermissions()
Gets a set of all registered permissions.

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

Returns:
Set containing all current registered permissions

useTimings

boolean useTimings()
Returns whether or not timing code should be used for event calls

Returns:
True if event timings are to be used


Copyright © 2013. All Rights Reserved.