001/* ----------------------------------------------------------------------------
002   The Kiwi Toolkit - A Java Class Library
003   Copyright (C) 1998-2004 Mark A. Lindner
004
005   This library is free software; you can redistribute it and/or
006   modify it under the terms of the GNU General Public License as
007   published by the Free Software Foundation; either version 2 of the
008   License, or (at your option) any later version.
009
010   This library is distributed in the hope that it will be useful,
011   but WITHOUT ANY WARRANTY; without even the implied warranty of
012   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013   General Public License for more details.
014
015   You should have received a copy of the GNU General Public License
016   along with this library; if not, write to the Free Software
017   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
018   02111-1307, USA.
019 
020   The author may be contacted at: mark_a_lindner@yahoo.com
021   ----------------------------------------------------------------------------
022   $Log: FileConsumer.java,v $
023   Revision 1.1  2004/05/05 21:36:15  markl
024   renamed class
025
026   Revision 1.5  2003/01/19 09:37:12  markl
027   Javadoc & comment header updates.
028
029   Revision 1.4  2001/03/12 06:01:17  markl
030   Javadoc cleanup.
031
032   Revision 1.3  2001/03/12 01:58:41  markl
033   Source code cleanup.
034
035   Revision 1.2  1999/01/10 03:34:00  markl
036   added GPL header & RCS tag
037   ----------------------------------------------------------------------------
038*/
039
040package kiwi.io;
041
042import java.io.*;
043
044/** An interface for receiving <code>File</code> objects from a
045  * <code>FilesystemTraverser</code>.
046  *
047  * @see kiwi.io.FilesystemTraverser
048  * @author Mark Lindner
049  */
050
051public interface FileConsumer
052  {
053
054  /** Accept a file from a depth-first traversal.
055    *
056    * @param file The file.
057    * @return <code>true</code> if the traversal should continue, and
058    * <code>false</code> if it should be aborted.
059    */
060
061  public boolean accept(File file);
062
063  /** Handle a file access error from a depth-first traversal.
064    *
065    * @param file The file that caused the access error.
066    * @return <code>true</code> if the traversal should continue, and
067    * <code>false</code> if it should be aborted.
068    */
069
070  public boolean accessError(File file);
071  }
072
073/* end of source file */