## net.i2p.addressbook
Class Daemon

    java.lang.Object
      net.i2p.addressbook.Daemon

    public class Daemon

extends Object

Main class of addressbook. Performs updates, and runs the main loop.

Author:
  Ragnarok

Field Summary
`static String` `VERSION`

Constructor Summary
`Daemon()`

Method Summary
`static void` `main(String[] args)` Load the settings, set the proxy, then enter into the main loop.
`void` `run(String[] args)`
`static void` `stop()`
`static void` `update(AddressBook master, AddressBook router, File published, SubscriptionList subscriptions, Log log)` Update the router and published address books using remote data from the subscribed address books listed in subscriptions.
`static void` `update(Map<String,String> settings, String home)` Run an update, using the Map settings to provide the parameters.
`static void` `update(NamingService router, File published, SubscriptionList subscriptions, Log log)` Update the router and published address books using remote data from the subscribed address books listed in subscriptions.
`static void` `wakeup()` Call this to get the addressbook to reread its config and refetch its subscriptions.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### VERSION

    public static final String VERSION

See Also:
  Constant Field Values

Constructor Detail

### Daemon

    public Daemon()

Method Detail

### update

    public static void update(AddressBook master,
                              AddressBook router,
                              File published,
                              SubscriptionList subscriptions,
                              Log log)

  Update the router and published address books using remote data from the subscribed address books listed in subscriptions.

  Parameters:
    `master` - The master AddressBook. This address book is never overwritten, so it is safe for the user to write to. It is only merged to the published addressbook. May be null.
    `router` - The router AddressBook. This is the address book read by client applications.
    `published` - The published AddressBook. This address book is published on the user's eepsite so that others may subscribe to it. May be null. If non-null, overwrite with the new addressbook.
    `subscriptions` - A SubscriptionList listing the remote address books to update from.
    `log` - The log to write changes and conflicts to. May be null.

### update

    public static void update(NamingService router,
                              File published,
                              SubscriptionList subscriptions,
                              Log log)

  Update the router and published address books using remote data from the subscribed address books listed in subscriptions. Merging of the "master" addressbook is NOT supported.

  Parameters:
    `router` - The NamingService to update, generally the root NamingService from the context.
    `published` - The published AddressBook. This address book is published on the user's eepsite so that others may subscribe to it. May be null. If non-null, overwrite with the new addressbook.
    `subscriptions` - A SubscriptionList listing the remote address books to update from.
    `log` - The log to write changes and conflicts to. May be null.
  Since:
    0.8.7

### update

    public static void update(Map<String,String> settings,
                              String home)

  Run an update, using the Map settings to provide the parameters.

  Parameters:
    `settings` - A Map containg the parameters needed by update.
    `home` - The directory containing addressbook's configuration files.

### main

    public static void main(String[] args)

  Load the settings, set the proxy, then enter into the main loop. The main loop performs an immediate update, and then an update every number of hours, as configured in the settings file.

  Parameters:
    `args` - Command line arguments. If there are any arguments provided, the first is taken as addressbook's home directory, and the others are ignored.

### run

    public void run(String[] args)

### wakeup

    public static void wakeup()

  Call this to get the addressbook to reread its config and refetch its subscriptions.

### stop

    public static void stop()