001package io.ebean.plugin;
002
003/**
004 * A 'plugin' that wants to be configured on startup so it can use features of the Database itself.
005 */
006public interface Plugin {
007
008  /**
009   * Configure the plugin.
010   */
011  void configure(SpiServer server);
012
013  /**
014   * Called just before the server starts indicating if it is coming up in online mode.
015   */
016  void online(boolean online);
017
018  /**
019   * Called when the server is shutting down.
020   * <p>
021   * Plugins should shutdown any resources they are using cleanly.
022   * </p>
023   */
024  void shutdown();
025}