/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at * trunk/opends/resource/legal-notices/OpenDS.LICENSE * or https://OpenDS.dev.java.net/OpenDS.LICENSE. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, * add the following below this CDDL HEADER, with the fields enclosed * by brackets "[]" replaced with your own identifying information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * * Portions Copyright 2006-2007 Sun Microsystems, Inc. */ package org.opends.server.api; import org.opends.server.config.ConfigEntry; import org.opends.server.config.ConfigException; import org.opends.server.types.InitializationException; /** * This interface defines the set of methods that must be implemented * for a Directory Server alert handler. Alert handlers are used to * present alert notifications in various forms like JMX, e-mail, or * paging. */ public interface AlertHandler { /** * Initializes this alert handler based on the information in the * provided configuration entry. * * @param configEntry The configuration entry that contains the * information to use to initialize this alert * handler. * * @throws ConfigException If the provided entry does not contain * a valid configuration for this alert * handler. * * @throws InitializationException If a problem occurs during * initialization that is not * related to the server * configuration. */ public void initializeAlertHandler(ConfigEntry configEntry) throws ConfigException, InitializationException; /** * Performs any necessary cleanup that may be necessary when this * alert handler is finalized. */ public void finalizeAlertHandler(); /** * Sends an alert notification based on the provided information. * * @param generator The alert generator that created the alert. * @param alertType The alert type name for this alert. * @param alertID The alert ID that uniquely identifies the * type of alert. * @param alertMessage A message (possibly null) that * can provide more information about this * alert. */ public void sendAlertNotification(AlertGenerator generator, String alertType, int alertID, String alertMessage); }