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: /**
22: * An audit listener that counts how many {@link AuditEvent AuditEvents}
23: * of a given severity have been generated.
24: *
25: * @author lkuehne
26: */
27: public final class SeverityLevelCounter implements AuditListener {
28: /** The severity level to watch out for. */
29: private SeverityLevel mLevel;
30:
31: /** Keeps track of the number of counted events. */
32: private int mCount;
33:
34: /**
35: * Creates a new counter.
36: * @param aLevel the severity level events need to have, must be non-null.
37: */
38: public SeverityLevelCounter(SeverityLevel aLevel) {
39: if (aLevel == null) {
40: throw new IllegalArgumentException();
41: }
42: mLevel = aLevel;
43: }
44:
45: /** {@inheritDoc} */
46: public void addError(AuditEvent aEvt) {
47: if (mLevel.equals(aEvt.getSeverityLevel())) {
48: mCount++;
49: }
50: }
51:
52: /** {@inheritDoc} */
53: public void addException(AuditEvent aEvt, Throwable aThrowable) {
54: if (SeverityLevel.ERROR.equals(mLevel)) {
55: mCount++;
56: }
57: }
58:
59: /** {@inheritDoc} */
60: public void auditStarted(AuditEvent aEvt) {
61: mCount = 0;
62: }
63:
64: /** {@inheritDoc} */
65: public void fileStarted(AuditEvent aEvt) {
66: }
67:
68: /** {@inheritDoc} */
69: public void auditFinished(AuditEvent aEvt) {
70: }
71:
72: /** {@inheritDoc} */
73: public void fileFinished(AuditEvent aEvt) {
74: }
75:
76: /**
77: * Returns the number of counted events since audit started.
78: * @return the number of counted events since audit started.
79: */
80: public int getCount() {
81: return mCount;
82: }
83: }
|