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.checks.metrics;
20:
21: import com.puppycrawl.tools.checkstyle.api.TokenTypes;
22:
23: /**
24: * This metric measures the number of instantiations of other classes
25: * within the given class.
26: *
27: * @author <a href="mailto:simon@redhillconsulting.com.au">Simon Harris</a>
28: * @author o_sukhodolsky
29: */
30: public final class ClassDataAbstractionCouplingCheck extends
31: AbstractClassCouplingCheck {
32: /** Default allowed complexity. */
33: private static final int DEFAULT_MAX = 7;
34:
35: /** Creates bew instance of the check. */
36: public ClassDataAbstractionCouplingCheck() {
37: super (DEFAULT_MAX);
38: setTokens(new String[] { "LITERAL_NEW" });
39: }
40:
41: /** {@inheritDoc} */
42: public int[] getRequiredTokens() {
43: return new int[] { TokenTypes.PACKAGE_DEF,
44: TokenTypes.CLASS_DEF, TokenTypes.INTERFACE_DEF,
45: TokenTypes.ENUM_DEF, TokenTypes.LITERAL_NEW, };
46: }
47:
48: /** {@inheritDoc} */
49: protected String getLogMessageId() {
50: return "classDataAbstractionCoupling";
51: }
52: }
|