View Javadoc

1   /**
2    * Copyright 2005-2006 the original author or authors.
3    *
4    * Licensed under the Gnu General Pubic License, Version 2.0 (the
5    * "License"); you may not use this file except in compliance with
6    * the License. You may obtain a copy of the License at
7    *
8    *      http://www.opensource.org/licenses/gpl-license.php
9    *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13   * See the Gnu General Public License for more details.
14   */
15  package org.figure8.join.services.notification;
16  
17  import org.figure8.join.core.Configurable;
18  /**
19   * This service interface defines basic services that a Notifier should provide
20   * @author <a href="mailto:laurent.broudoux@free.fr">Laurent Broudoux</a>
21   * @version $Revision: 1.1 $
22   */
23  public interface Notifier extends Configurable{
24  
25     // Public -------------------------------------------------------------------
26  
27     /**
28      * Notifier are able to notify recipients and use a title and a content within
29      * their notification messages. The definition of a recipients is voluntary abstract
30      * letting implementations or sub-interfaces defining what they consider as valid
31      * recipients (ex: mail addresses, IM identifies, etc...)
32      * @param recipients An array of recipients to noitify. Recipient is described with a String
33      * @param title The title of notification message to send
34      * @param content The content of notification message to send
35      * @throws NotificationException if an exception occurs during the notification operation
36      * (usually they are network related exceptions)
37      */
38     public abstract void notify(String[] recipients, String title, String content) throws NotificationException;
39  }