net.i2p.router.web

## Class PluginUpdateHandler

- java.lang.Object
- - net.i2p.router.web.UpdateHandler
  - - net.i2p.router.web.PluginUpdateHandler

-     public class PluginUpdateHandler
      extends UpdateHandler

  Download and install a plugin. A plugin is a standard .sud file with a 40-byte signature, a 16-byte version, and a .zip file. Unlike for router updates, we need not have the public key for the signature in advance. The zip file must have a standard directory layout, with a plugin.config file at the top level. The config file contains properties for the package name, version, signing public key, and other settings. The zip file will typically contain a webapps/ or lib/ dir, and a webapps.config and/or clients.config file.
  Since:
    0.7.12
  Author:
    zzz

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PluginUpdateHandler.PluginUpdateRunner`

    - ### Nested classes/interfaces inherited from class net.i2p.router.web.UpdateHandler

      `UpdateHandler.UpdateRunner`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `PLUGIN_DIR`

    - ### Fields inherited from class net.i2p.router.web.UpdateHandler

      `_context, _log, _updateFile, _updateRunner, PROP_LAST_UPDATE_TIME, PROP_UPDATE_IN_PROGRESS, SIGNED_UPDATE_FILE`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getAppStatus()`
    `static PluginUpdateHandler` | `getInstance(RouterContext ctx)`
    `boolean` | `isDone()`
    `boolean` | `isRunning()`
    `void` | `update(String xpi2pURL)`
    `protected void` | `updateStatus(String s)`

    - ### Methods inherited from class net.i2p.router.web.UpdateHandler

      `_, _, getStatus, linkify, restart, setContextId, setUpdateAction, setUpdateNonce, update`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### PLUGIN_DIR

          public static final String PLUGIN_DIR

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getInstance

          public static final PluginUpdateHandler getInstance(RouterContext ctx)

    - #### update

          public void update(String xpi2pURL)

    - #### getAppStatus

          public String getAppStatus()

    - #### isRunning

          public boolean isRunning()

    - #### isDone

          public boolean isDone()

      Overrides:
        `isDone` in class `UpdateHandler`

    - #### updateStatus

          protected void updateStatus(String s)

      Overrides:
        `updateStatus` in class `UpdateHandler`