Class PluginInitializer

    • 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
      • class_mon

        private static AEMonitor class_mon
      • registration_queue

        private static java.util.List registration_queue
      • initThreads

        private static java.util.List initThreads
      • plugin_event_history

        private static java.util.List<PluginEvent> plugin_event_history
      • core

        private Core core
      • 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
      • 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

      • 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)
      • 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()
      • 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
      • getCore

        protected Core getCore()
      • getDefaultInterface

        public static PluginInterface getDefaultInterface()
      • getDefaultInterfaceSupport

        protected PluginInterface getDefaultInterfaceSupport()
      • 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 interface GlobalManagerListener
        Parameters:
        seeding_only_mode - true if only seeding torrents (no downloads), false otherwise
        b - - 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​(boolean expect_partial_result)
      • getPluginFromClass

        protected PluginInterfaceImpl getPluginFromClass​(java.lang.Class cla)
      • getPluginFromClass

        protected PluginInterfaceImpl getPluginFromClass​(java.lang.String class_name)