View Javadoc

1   // Copyright (C) 2005 Philip Aston
2   // All rights reserved.
3   //
4   // This file is part of The Grinder software distribution. Refer to
5   // the file LICENSE which is part of The Grinder distribution for
6   // licensing details. The Grinder distribution is available on the
7   // Internet at http://grinder.sourceforge.net/
8   //
9   // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
10  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
11  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
12  // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
13  // COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
14  // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
15  // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
16  // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
17  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
18  // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
19  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
20  // OF THE POSSIBILITY OF SUCH DAMAGE.
21  
22  package net.grinder.console.distribution;
23  
24  import java.io.File;
25  import java.util.EventListener;
26  
27  /**
28   * Something that can raise events about file changes.
29   *
30   * @author Philip Aston
31   */
32  public interface FileChangeWatcher {
33  
34    /**
35     * Add a listener that will be sent events about files that have changed.
36     *
37     * @param listener
38     *          The listener.
39     */
40    void addFileChangedListener(FileChangedListener listener);
41  
42    /**
43     * Listener interface.
44     *
45     * @see FileChangeWatcher#addFileChangedListener
46     */
47    interface FileChangedListener extends EventListener {
48  
49      /**
50       * Called with a changed file.
51       *
52       * @param file The file that has changed.
53       */
54      void filesChanged(File[] file);
55    }
56  }