KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > innig > macker > rule > Rule


1 /*______________________________________________________________________________
2  *
3  * Macker http://innig.net/macker/
4  *
5  * Copyright 2002-2003 Paul Cantrell
6  *
7  * This program is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License version 2, as published by the
9  * Free Software Foundation. See the file LICENSE.html for more information.
10  *
11  * This program is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
13  * FOR A PARTICULAR PURPOSE. See the license for more details.
14  *
15  * You should have received a copy of the GNU General Public License along with
16  * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
17  * Place, Suite 330 / Boston, MA 02111-1307 / USA.
18  *______________________________________________________________________________
19  */

20  
21 package net.innig.macker.rule;
22
23 import net.innig.macker.structure.ClassManager;
24 import net.innig.macker.event.MackerIsMadException;
25 import net.innig.macker.event.ListenerException;
26
27 public abstract class Rule
28     {
29     public Rule(RuleSet parent)
30         { this.parent = parent; }
31     
32     public RuleSet getParent()
33         { return parent; }
34
35     public RuleSeverity getSeverity()
36         {
37         if(severity != null)
38             return severity;
39         else if(parent != null)
40             return parent.getSeverity();
41         else
42             return RuleSeverity.ERROR;
43         }
44
45     public void setSeverity(RuleSeverity severity)
46         { this.severity = severity; }
47
48     public abstract void check(
49             EvaluationContext context,
50             ClassManager classes)
51         throws RulesException, MackerIsMadException, ListenerException;
52
53     private RuleSet parent;
54     private RuleSeverity severity;
55     }
Popular Tags