net.i2p.router.web
Class PluginStarter

java.lang.Object
  extended by net.i2p.router.web.PluginStarter
All Implemented Interfaces:
Runnable
Direct Known Subclasses:
PluginStopper

public class PluginStarter
extends Object
implements Runnable

Start/stop/delete plugins that are already installed Get properties of installed plugins Get or change settings in plugins.config

Since:
0.7.12
Author:
zzz

Field Summary
protected  RouterContext _context
           
static String ENABLED
           
static String PLUGIN_DIR
           
static String PREFIX
           
 
Constructor Summary
PluginStarter(RouterContext ctx)
           
 
Method Summary
(package private) static boolean deletePlugin(RouterContext ctx, String appName)
           
static void disablePlugin(String appName)
          Disable in plugins.config
static Map<String,String> getPluginKeys(I2PAppContext ctx)
          The signing keys from all the plugins
static List<String> getPlugins()
          all installed plugins whether enabled or not
static boolean isPluginEnabled(String appName)
          Is the plugin enabled in plugins.config? Default true
static boolean isPluginRunning(String pluginName, RouterContext ctx)
           
static Properties pluginProperties()
          plugins.config this auto-adds a propery for every dir in the plugin directory
static Properties pluginProperties(I2PAppContext ctx, String appName)
          plugin.config
(package private) static boolean pluginsEnabled(I2PAppContext ctx)
           
 void run()
           
static boolean startPlugin(RouterContext ctx, String appName)
           
(package private) static void startPlugins(RouterContext ctx)
          this shouldn't throw anything
static boolean stopPlugin(RouterContext ctx, String appName)
           
static void storePluginProperties(Properties props)
          plugins.config
(package private) static void updateAll(RouterContext ctx)
          threaded
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_context

protected RouterContext _context

PREFIX

public static final String PREFIX
See Also:
Constant Field Values

ENABLED

public static final String ENABLED
See Also:
Constant Field Values

PLUGIN_DIR

public static final String PLUGIN_DIR
See Also:
Constant Field Values
Constructor Detail

PluginStarter

public PluginStarter(RouterContext ctx)
Method Detail

pluginsEnabled

static boolean pluginsEnabled(I2PAppContext ctx)

run

public void run()
Specified by:
run in interface Runnable

updateAll

static void updateAll(RouterContext ctx)
threaded

Since:
0.8.13

startPlugins

static void startPlugins(RouterContext ctx)
this shouldn't throw anything


startPlugin

public static boolean startPlugin(RouterContext ctx,
                                  String appName)
                           throws Exception
Returns:
true on success
Throws:
just - about anything, caller would be wise to catch Throwable
Exception

stopPlugin

public static boolean stopPlugin(RouterContext ctx,
                                 String appName)
                          throws Exception
Returns:
true on success
Throws:
just - about anything, caller would be wise to catch Throwable
Exception

deletePlugin

static boolean deletePlugin(RouterContext ctx,
                            String appName)
                     throws Exception
Returns:
true on success - caller should call stopPlugin() first
Throws:
Exception

pluginProperties

public static Properties pluginProperties(I2PAppContext ctx,
                                          String appName)
plugin.config


pluginProperties

public static Properties pluginProperties()
plugins.config this auto-adds a propery for every dir in the plugin directory


isPluginEnabled

public static boolean isPluginEnabled(String appName)
Is the plugin enabled in plugins.config? Default true

Since:
0.8.13

disablePlugin

public static void disablePlugin(String appName)
Disable in plugins.config

Since:
0.8.13

getPlugins

public static List<String> getPlugins()
all installed plugins whether enabled or not


getPluginKeys

public static Map<String,String> getPluginKeys(I2PAppContext ctx)
The signing keys from all the plugins

Returns:
Map of key to keyname Last one wins if a dup (installer should prevent dups)

storePluginProperties

public static void storePluginProperties(Properties props)
plugins.config


isPluginRunning

public static boolean isPluginRunning(String pluginName,
                                      RouterContext ctx)