01: ////////////////////////////////////////////////////////////////////////////////
02: // checkstyle: Checks Java source code for adherence to a set of rules.
03: // Copyright (C) 2001-2007 Oliver Burn
04: //
05: // This library is free software; you can redistribute it and/or
06: // modify it under the terms of the GNU Lesser General Public
07: // License as published by the Free Software Foundation; either
08: // version 2.1 of the License, or (at your option) any later version.
09: //
10: // This library 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. See the GNU
13: // Lesser General Public License for more details.
14: //
15: // You should have received a copy of the GNU Lesser General Public
16: // License along with this library; if not, write to the Free Software
17: // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18: ////////////////////////////////////////////////////////////////////////////////
19: package com.puppycrawl.tools.checkstyle.api;
20:
21: import java.io.File;
22:
23: /**
24: * Interface for Checking a set of files for some criteria.
25: *
26: * @author lkuehne
27: */
28: public interface FileSetCheck extends Configurable, Contextualizable {
29: /**
30: * Sets the MessageDispatcher that is used to dispatch error
31: * messages to AuditListeners during processing.
32: * @param aDispatcher the dispatcher
33: */
34: void setMessageDispatcher(MessageDispatcher aDispatcher);
35:
36: /**
37: * Processes a set of files and fires errors to the MessageDispatcher.
38: *
39: * The file set to process might contain files that are not
40: * interesting to the FileSetCheck. Such files should be ignored,
41: * no error message should be fired for them. For example a FileSetCheck
42: * that checks java files should ignore html or properties files.
43: *
44: * Once processiong is done, it is highly recommended to call for
45: * the destroy method to close and remove the listeners.
46: *
47: * @param aFiles the files to be audited.
48: * @see #destroy()
49: */
50: void process(File[] aFiles);
51:
52: /** Cleans up the object. **/
53: void destroy();
54: }
|