KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > puppycrawl > tools > checkstyle > ModuleFactory


1 ////////////////////////////////////////////////////////////////////////////////
2
// checkstyle: Checks Java source code for adherence to a set of rules.
3
// Copyright (C) 2001-2005 Oliver Burn
4
//
5
// This library is free software; you can redistribute it and/or
6
// modify it under the terms of the GNU Lesser General Public
7
// License as published by the Free Software Foundation; either
8
// version 2.1 of the License, or (at your option) any later version.
9
//
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;
20
21 import com.puppycrawl.tools.checkstyle.api.CheckstyleException;
22
23 /**
24  * A module factory creates Objects from a given name.
25  * It's purpose is to map the shortnames like
26  * <code>AvoidStarImport</code> to full classnames like
27  * <code>com.puppycrawl.tools.checkstyle.checks.AvoidStarImportCheck</code>.
28  * A ModuleFactory can implement this name resolution by using naming
29  * conventions, fallback strategies, etc.
30  *
31  * @author lkuehne
32  * @version $Revision: 1.6 $
33  */

34 public interface ModuleFactory
35 {
36     /**
37      * Creates a new instance of a class from a given name.
38      * If the provided module name is a class name an instance of that class
39      * is returned. If the name is not a class name the ModuleFactory uses
40      * heuristics to find the corresponding class.
41      *
42      * @param aName the name of the module, might be a shortname
43      * @return the created module
44      * @throws CheckstyleException if no module can be instantiated from aName
45      */

46     Object JavaDoc createModule(String JavaDoc aName) throws CheckstyleException;
47 }
48
Popular Tags