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 }