Package com.biglybt.pifimpl.local
Class PluginInitializer
- java.lang.Object
-
- com.biglybt.pifimpl.local.PluginInitializer
-
- All Implemented Interfaces:
GlobalManagerListener
,AEDiagnosticsEvidenceGenerator
public class PluginInitializer extends java.lang.Object implements GlobalManagerListener, AEDiagnosticsEvidenceGenerator
-
-
Field Summary
Fields Modifier and Type Field Description private static AsyncDispatcher
async_dispatcher
private java.lang.String[][]
builtin_plugins
private static AEMonitor
class_mon
private Core
core
private PluginInterfaceImpl
default_plugin
static boolean
DISABLE_PLUGIN_VERIFICATION
private boolean
initialisation_complete
private static java.util.List
initThreads
static java.lang.String
INTERNAL_PLUGIN_ID
private java.util.List<java.util.List<PluginInterface>>
loaded_pi_list
private static boolean
loading_builtin
private static LogIDs
LOGID
private static java.util.List<PluginEvent>
plugin_event_history
private PluginManager
plugin_manager
private boolean
plugins_initialised
private static java.util.List
registration_queue
private java.lang.ClassLoader
root_class_loader
private java.util.List<PluginInterfaceImpl>
s_plugin_interfaces
private java.util.List<Plugin>
s_plugins
private static PluginInitializer
singleton
private java.util.Set<java.lang.String>
vc_disabled_plugins
-
Constructor Summary
Constructors Modifier Constructor Description protected
PluginInitializer(Core core)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
addInitThread()
static void
checkCoreAppVersion(java.lang.String name, java.util.Properties props, boolean alert_on_fail)
static void
checkJDKVersion(java.lang.String name, java.util.Properties props, boolean alert_on_fail)
protected void
checkPluginsInitialised()
void
destroyed()
void
destroyInitiated(GlobalMangerProgressListener progress)
void
downloadManagerAdded(DownloadManager dm)
void
downloadManagerRemoved(DownloadManager dm)
protected void
fireCreated(PluginInterfaceImpl pi)
static void
fireEvent(int type)
static void
fireEvent(int type, java.lang.Object value)
protected void
fireEventSupport(int type, java.lang.Object value)
protected void
fireOperational(PluginInterfaceImpl pi, boolean op)
void
generate(IndentWriter writer)
protected Core
getCore()
static PluginInterface
getDefaultInterface()
protected PluginInterface
getDefaultInterfaceSupport()
protected GlobalManager
getGlobalManager()
protected java.util.List<PluginEvent>
getPEVHistory()
protected PluginInterfaceImpl
getPluginFromClass(java.lang.Class cla)
protected PluginInterfaceImpl
getPluginFromClass(java.lang.String class_name)
static java.util.List<PluginInterfaceImpl>
getPluginInterfaces()
private java.util.List<PluginInterfaceImpl>
getPluginInterfacesSupport(boolean expect_partial_result)
protected PluginManager
getPluginManager()
PluginInterface[]
getPlugins()
PluginInterface[]
getPlugins(boolean expect_partial_result)
private void
getRootClassLoader()
private void
getRootClassLoader(java.io.File dir)
static PluginInitializer
getSingleton(Core core)
void
initialisationComplete()
private void
initialisePlugin(java.util.List l)
void
initialisePlugins()
protected void
initializePluginFromClass(java.lang.Class plugin_class, java.lang.String plugin_id, java.lang.String plugin_config_key, boolean force_enabled, boolean loading_for_startup, boolean initialise)
protected void
initializePluginFromInstance(Plugin plugin, java.lang.String plugin_id, java.lang.String plugin_config_key)
protected boolean
isInitialisationComplete()
protected boolean
isInitialisationThread()
protected boolean
isInitialized()
static boolean
isInitThread()
protected static boolean
isLoadingBuiltin()
private java.util.List
loadPluginFromDir(java.io.File directory, boolean bSkipAlreadyLoaded, boolean loading_for_startup, boolean initialise)
java.util.List
loadPlugins(Core core, boolean bSkipAlreadyLoaded, boolean load_external_plugins, boolean loading_for_startup, boolean initialise_plugins)
private java.util.List
loadPluginsFromDir(java.io.File pluginDirectory, int plugin_offset, int plugin_total, boolean bSkipAlreadyLoaded, boolean loading_for_startup, boolean initialise)
private void
log(java.lang.String str)
protected static java.lang.String
normaliseJDK(java.lang.String jdk)
private static PluginInitializer
peekSingleton()
protected static void
queueRegistration(Plugin plugin, java.lang.String id, java.lang.String config_key)
protected static void
queueRegistration(java.lang.Class _class)
protected void
reloadPlugin(PluginInterfaceImpl pi)
protected void
reloadPlugin(PluginInterfaceImpl pi, boolean loading_for_startup, boolean initialise)
static void
removeInitThread()
protected void
runPEVTask(AERunnable run)
void
seedingStatusChanged(boolean seeding_only_mode, boolean b)
Notification of global seeding status changes.protected void
unloadPlugin(PluginInterfaceImpl pi)
private void
waitForEvents()
static void
waitForPluginEvents()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.biglybt.core.global.GlobalManagerListener
destroyInitiated
-
-
-
-
Field Detail
-
DISABLE_PLUGIN_VERIFICATION
public static final boolean DISABLE_PLUGIN_VERIFICATION
- See Also:
- Constant Field Values
-
LOGID
private static final LogIDs LOGID
-
INTERNAL_PLUGIN_ID
public static final java.lang.String INTERNAL_PLUGIN_ID
- See Also:
- Constant Field Values
-
builtin_plugins
private java.lang.String[][] builtin_plugins
-
singleton
private static PluginInitializer singleton
-
class_mon
private static AEMonitor class_mon
-
registration_queue
private static java.util.List registration_queue
-
initThreads
private static java.util.List initThreads
-
async_dispatcher
private static AsyncDispatcher async_dispatcher
-
plugin_event_history
private static java.util.List<PluginEvent> plugin_event_history
-
core
private Core core
-
default_plugin
private PluginInterfaceImpl default_plugin
-
plugin_manager
private PluginManager plugin_manager
-
root_class_loader
private java.lang.ClassLoader root_class_loader
-
loaded_pi_list
private java.util.List<java.util.List<PluginInterface>> loaded_pi_list
-
loading_builtin
private static boolean loading_builtin
-
s_plugins
private java.util.List<Plugin> s_plugins
-
s_plugin_interfaces
private java.util.List<PluginInterfaceImpl> s_plugin_interfaces
-
initialisation_complete
private boolean initialisation_complete
-
plugins_initialised
private volatile boolean plugins_initialised
-
vc_disabled_plugins
private java.util.Set<java.lang.String> vc_disabled_plugins
-
-
Constructor Detail
-
PluginInitializer
protected PluginInitializer(Core core)
-
-
Method Detail
-
getSingleton
public static PluginInitializer getSingleton(Core core)
-
peekSingleton
private static PluginInitializer peekSingleton()
-
queueRegistration
protected static void queueRegistration(java.lang.Class _class)
-
queueRegistration
protected static void queueRegistration(Plugin plugin, java.lang.String id, java.lang.String config_key)
-
isLoadingBuiltin
protected static boolean isLoadingBuiltin()
-
checkCoreAppVersion
public static void checkCoreAppVersion(java.lang.String name, java.util.Properties props, boolean alert_on_fail) throws PluginException
- Throws:
PluginException
-
checkJDKVersion
public static void checkJDKVersion(java.lang.String name, java.util.Properties props, boolean alert_on_fail) throws PluginException
- Throws:
PluginException
-
normaliseJDK
protected static java.lang.String normaliseJDK(java.lang.String jdk)
-
fireCreated
protected void fireCreated(PluginInterfaceImpl pi)
-
fireOperational
protected void fireOperational(PluginInterfaceImpl pi, boolean op)
-
addInitThread
public static void addInitThread()
-
removeInitThread
public static void removeInitThread()
-
isInitThread
public static boolean isInitThread()
-
isInitialisationThread
protected boolean isInitialisationThread()
-
loadPlugins
public java.util.List loadPlugins(Core core, boolean bSkipAlreadyLoaded, boolean load_external_plugins, boolean loading_for_startup, boolean initialise_plugins)
-
getRootClassLoader
private void getRootClassLoader()
-
getRootClassLoader
private void getRootClassLoader(java.io.File dir)
-
loadPluginsFromDir
private java.util.List loadPluginsFromDir(java.io.File pluginDirectory, int plugin_offset, int plugin_total, boolean bSkipAlreadyLoaded, boolean loading_for_startup, boolean initialise)
-
loadPluginFromDir
private java.util.List loadPluginFromDir(java.io.File directory, boolean bSkipAlreadyLoaded, boolean loading_for_startup, boolean initialise) throws PluginException
- Throws:
PluginException
-
log
private void log(java.lang.String str)
-
initialisePlugins
public void initialisePlugins()
-
checkPluginsInitialised
protected void checkPluginsInitialised()
-
isInitialized
protected boolean isInitialized()
-
initialisePlugin
private void initialisePlugin(java.util.List l) throws PluginException
- Throws:
PluginException
-
initializePluginFromClass
protected void initializePluginFromClass(java.lang.Class plugin_class, java.lang.String plugin_id, java.lang.String plugin_config_key, boolean force_enabled, boolean loading_for_startup, boolean initialise) throws PluginException
- Throws:
PluginException
-
initializePluginFromInstance
protected void initializePluginFromInstance(Plugin plugin, java.lang.String plugin_id, java.lang.String plugin_config_key) throws PluginException
- Throws:
PluginException
-
unloadPlugin
protected void unloadPlugin(PluginInterfaceImpl pi)
-
reloadPlugin
protected void reloadPlugin(PluginInterfaceImpl pi) throws PluginException
- Throws:
PluginException
-
reloadPlugin
protected void reloadPlugin(PluginInterfaceImpl pi, boolean loading_for_startup, boolean initialise) throws PluginException
- Throws:
PluginException
-
getCore
protected Core getCore()
-
getGlobalManager
protected GlobalManager getGlobalManager()
-
getDefaultInterface
public static PluginInterface getDefaultInterface()
-
getDefaultInterfaceSupport
protected PluginInterface getDefaultInterfaceSupport()
-
downloadManagerAdded
public void downloadManagerAdded(DownloadManager dm)
- Specified by:
downloadManagerAdded
in interfaceGlobalManagerListener
-
downloadManagerRemoved
public void downloadManagerRemoved(DownloadManager dm)
- Specified by:
downloadManagerRemoved
in interfaceGlobalManagerListener
-
destroyInitiated
public void destroyInitiated(GlobalMangerProgressListener progress)
- Specified by:
destroyInitiated
in interfaceGlobalManagerListener
-
destroyed
public void destroyed()
- Specified by:
destroyed
in interfaceGlobalManagerListener
-
seedingStatusChanged
public void seedingStatusChanged(boolean seeding_only_mode, boolean b)
Description copied from interface:GlobalManagerListener
Notification of global seeding status changes.- Specified by:
seedingStatusChanged
in interfaceGlobalManagerListener
- Parameters:
seeding_only_mode
- true if only seeding torrents (no downloads), false otherwiseb
- - as above but true if queued seeds
-
runPEVTask
protected void runPEVTask(AERunnable run)
-
getPEVHistory
protected java.util.List<PluginEvent> getPEVHistory()
-
fireEventSupport
protected void fireEventSupport(int type, java.lang.Object value)
-
waitForEvents
private void waitForEvents()
-
fireEvent
public static void fireEvent(int type)
-
fireEvent
public static void fireEvent(int type, java.lang.Object value)
-
waitForPluginEvents
public static void waitForPluginEvents()
-
initialisationComplete
public void initialisationComplete()
-
isInitialisationComplete
protected boolean isInitialisationComplete()
-
getPluginInterfaces
public static java.util.List<PluginInterfaceImpl> getPluginInterfaces()
-
getPluginInterfacesSupport
private java.util.List<PluginInterfaceImpl> getPluginInterfacesSupport(boolean expect_partial_result)
-
getPlugins
public PluginInterface[] getPlugins()
-
getPlugins
public PluginInterface[] getPlugins(boolean expect_partial_result)
-
getPluginManager
protected PluginManager getPluginManager()
-
getPluginFromClass
protected PluginInterfaceImpl getPluginFromClass(java.lang.Class cla)
-
getPluginFromClass
protected PluginInterfaceImpl getPluginFromClass(java.lang.String class_name)
-
generate
public void generate(IndentWriter writer)
- Specified by:
generate
in interfaceAEDiagnosticsEvidenceGenerator
-
-