View Javadoc

1   /* -*- mode: JDE; c-basic-offset: 2; indent-tabs-mode: nil -*-
2    *
3    * $Id: Publisher.java,v 1.4 2003/07/31 21:00:36 ljnelson Exp $
4    *
5    * Copyright (c) 2003 Laird Jarrett Nelson.
6    *
7    * Permission is hereby granted, free of charge, to any person obtaining a copy
8    * of this software and associated documentation files (the "Software"), to deal
9    * in the Software without restriction, including without limitation the rights
10   * to use, copy, modify, merge, publish, distribute, sublicense and/or sell 
11   * copies of the Software, and to permit persons to whom the Software is 
12   * furnished to do so, subject to the following conditions:
13   * 
14   * The above copyright notice and this permission notice shall be included in 
15   * all copies or substantial portions of the Software.
16   * 
17   * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
19   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
20   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
21   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23   * SOFTWARE.
24   *
25   * The original copy of this license is available at
26   * http://www.opensource.org/license/mit-license.html.
27   */
28  package sfutils.frs;
29  
30  import sfutils.SourceForgeException;
31  
32  /***
33   * An interface indicating that implementors are capable of publishing a {@link
34   * FileRelease} to its project's "Files" section on <a
35   * href="http://sourceforge.net/">SourceForge</a>.
36   *
37   * @author     <a href="mailto:ljnelson94@alumni.amherst.edu">Laird Nelson</a>
38   * @version    $Revision: 1.4 $ $Date: 2003/07/31 21:00:36 $
39   * @since      July 3, 2003
40   * @see        FileRelease#getPublisher()
41   * @see        FileRelease#setPublisher(Publisher)
42   */
43  public interface Publisher {
44  
45    /***
46     * Publishes the supplied {@link FileRelease} to its proper place on <a
47     * href="http://sourceforge.net/">SourceForge</a>.
48     *
49     * @param      release
50     *               the {@link FileRelease} to be published; may technically be
51     *               <code>null</code> although most implementations will reject a
52     *               <code>null</code> value
53     * @exception  SourceForgeException
54     *               if the supplied {@link FileRelease} could not be published
55     *               for any reason 
56     */
57    public void publish(final FileRelease release)
58      throws SourceForgeException;
59  
60  }