Class PluginManager

  • Direct Known Subclasses:
    PluginManagerImpl

    public abstract class PluginManager
    extends java.lang.Object
    This class allows the client to be started as an embedded component and also allows plugins to be dynamically registered
    • Field Detail

      • PR_MULTI_INSTANCE

        public static final java.lang.String PR_MULTI_INSTANCE
        Property Key: Allow multiple instances. Normally the client will only permit a single instance to run per machine. Values for this key are: "true" or "false"
        Since:
        2.0.7.0
        See Also:
        Constant Field Values
      • PR_USER_DIRECTORY

        public static final java.lang.String PR_USER_DIRECTORY
        Where the the client config (i.e. per-user type) state is stored String value
        Since:
        4.9.0.1
        See Also:
        Constant Field Values
      • PR_APP_DIRECTORY

        public static final java.lang.String PR_APP_DIRECTORY
        Where the client is 'installed'. For embedded use you probably want to set config and app dir to a shared per-user location String value
        Since:
        4.9.0.1
        See Also:
        Constant Field Values
      • PR_DOC_DIRECTORY

        public static final java.lang.String PR_DOC_DIRECTORY
        Parent folder that contains the downloads directory String value
        Since:
        4.9.0.1
        See Also:
        Constant Field Values
      • PR_DISABLE_NATIVE_SUPPORT

        public static final java.lang.String PR_DISABLE_NATIVE_SUPPORT
        Set this to "true" (String) if you want to disable any native platform support String value
        Since:
        4.9.0.1
        See Also:
        Constant Field Values
    • Constructor Detail

      • PluginManager

        public PluginManager()
    • Method Detail

      • startClient

        public static void startClient​(java.lang.String ui,
                                       java.util.Properties properties,
                                       PluginManager.StartClientListener startClientListener)
                                throws PluginException
        Starts client.

        With the exception of null ui, method does not return until client is closed.

        Parameters:
        ui - "swt", "console", "telnet", etc
        properties -
        Throws:
        PluginException
      • restartClient

        public static void restartClient()
                                  throws PluginException
        restarts the client and performs any Update actions defined via the plugin "update" interface. Currently only works for SWT UIs.
        Throws:
        PluginException
        Since:
        2.1.0.0
      • registerPlugin

        public static void registerPlugin​(java.lang.Class<? extends Plugin> plugin_class)
        Programatic plugin registration interface
        Parameters:
        plugin_class - this must implement Plugin
        Since:
        2.0.6.0
      • registerPlugin

        public static void registerPlugin​(Plugin plugin,
                                          java.lang.String id)
      • registerPlugin

        public static void registerPlugin​(Plugin plugin,
                                          java.lang.String id,
                                          java.lang.String config_key)
      • getPluginInterfaceByID

        public abstract PluginInterface getPluginInterfaceByID​(java.lang.String id,
                                                               boolean operational)
        Returns the plugin interface with a given id, or null if not found.
        Parameters:
        id -
        operational - If true, only return a PluginInterface if the plugin is operational (i.e. is running).
        Since:
        3.1.1.1
      • getPluginInterfaceByClass

        public abstract PluginInterface getPluginInterfaceByClass​(java.lang.String class_name,
                                                                  boolean operational)
        Returns the plugin interface with a given class name, or null if not found.
        Parameters:
        class_name -
        operational - If true, only return a PluginInterface if the plugin is operational (i.e. is running).
        Since:
        3.1.1.1
      • getPluginInterfaceByClass

        public abstract PluginInterface getPluginInterfaceByClass​(java.lang.Class class_object,
                                                                  boolean operational)
        Returns the plugin interface with a given class, or null if not found.
        Parameters:
        class_object -
        operational - If true, only return a PluginInterface if the plugin is operational (i.e. is running).
        Since:
        3.1.1.1
      • getPluginInterfaces

        public abstract PluginInterface[] getPluginInterfaces()
        Gets the current set of registered plugins. During initialisation this will probably give partial results as plugin initialisation is non-deterministic.
        Returns:
        Since:
        2.1.0.0
      • getDefaultPluginInterface

        public abstract PluginInterface getDefaultPluginInterface()
        returns the default plugin interface that can be used to access plugin functionality without an explicit plugin
        Returns:
        null if unavailable
      • getPlugins

        public abstract PluginInterface[] getPlugins()
        Gets the current set of registered plugins. During initialisation this will probably give partial results as plugin initialisation is non-deterministic.
        Returns:
        Since:
        2.1.0.0
      • getPlugins

        public abstract PluginInterface[] getPlugins​(boolean expect_partial_result)
      • firePluginEvent

        public abstract void firePluginEvent​(int event_type)
      • getPluginInstaller

        public abstract PluginInstaller getPluginInstaller()
      • refreshPluginList

        public final void refreshPluginList()
      • refreshPluginList

        public abstract void refreshPluginList​(boolean initialise)
        Since:
        3.1.1.1
      • isSilentRestartEnabled

        public abstract boolean isSilentRestartEnabled()
      • isInitialized

        public abstract boolean isInitialized()
      • executeCloseAction

        public abstract void executeCloseAction​(java.lang.String action)
                                         throws PluginException
        Parameters:
        action - one of the above CA_
        Throws:
        PluginException
        Since:
        5701
      • getPluginInterfaceByID

        public abstract PluginInterface getPluginInterfaceByID​(java.lang.String id)
        returns the plugin interface with a given id, or null if not found
        Parameters:
        id -
        Returns:
        Since:
        2.1.0.0
      • getPluginInterfaceByClass

        public abstract PluginInterface getPluginInterfaceByClass​(java.lang.String class_name)
        Since:
        2.1.0.0
      • getPluginInterfaceByClass

        public abstract PluginInterface getPluginInterfaceByClass​(java.lang.Class c)
      • getPluginsWithMethod

        public abstract java.util.List<PluginInterface> getPluginsWithMethod​(java.lang.String name,
                                                                             java.lang.Class<?>[] parameters)
        *since 5201