|  | <?xml version="1.0" encoding="UTF-8"?> | 
|  | <!-- | 
|  |  | 
|  | Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. | 
|  |  | 
|  | This program and the accompanying materials are made available under the | 
|  | terms of the Eclipse Public License v. 2.0, which is available at | 
|  | http://www.eclipse.org/legal/epl-2.0. | 
|  |  | 
|  | This Source Code may also be made available under the following Secondary | 
|  | Licenses when the conditions for such availability set forth in the | 
|  | Eclipse Public License v. 2.0 are satisfied: GNU General Public License, | 
|  | version 2 with the GNU Classpath Exception, which is available at | 
|  | https://www.gnu.org/software/classpath/license.html. | 
|  |  | 
|  | SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 | 
|  |  | 
|  | --> | 
|  |  | 
|  | <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> | 
|  | <!-- | 
|  | This file is based on maven-checkstyle-plugin config/sun_checks.xml file. | 
|  |  | 
|  | Checkstyle configuration that checks the coding conventions based on: | 
|  |  | 
|  | - the Java Language Specification at | 
|  | http://java.sun.com/docs/books/jls/second_edition/html/index.html | 
|  |  | 
|  | - the Sun Code Conventions at http://java.sun.com/docs/codeconv/ | 
|  |  | 
|  | - the Javadoc guidelines at | 
|  | http://java.sun.com/j2se/javadoc/writingdoccomments/index.html | 
|  |  | 
|  | - the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html | 
|  |  | 
|  | - some custom relaxations of the rules above & best practices | 
|  |  | 
|  | Checkstyle is very configurable. Be sure to read the documentation at | 
|  | http://checkstyle.sf.net (or in your downloaded distribution). | 
|  |  | 
|  | Most Checks are configurable, be sure to consult the documentation. | 
|  | To completely disable a check, just comment it out or delete it from the file. | 
|  | Finally, it is worth reading the documentation. | 
|  | --> | 
|  |  | 
|  | <module name="Checker"> | 
|  | <!-- | 
|  | If you set the basedir property below, then all reported file | 
|  | names will be relative to the specified directory. See | 
|  | http://checkstyle.sourceforge.net/5.x/config.html#Checker | 
|  |  | 
|  | <property name="basedir" value="${basedir}"/> | 
|  | --> | 
|  | <property name="charset" value="UTF-8"/> | 
|  |  | 
|  | <!-- Checks that each Java package has a Javadoc file used for commenting. --> | 
|  | <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocPackage       --> | 
|  | <module name="JavadocPackage" /> | 
|  |  | 
|  | <!-- Checks whether files end with a new line.                        --> | 
|  | <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile --> | 
|  | <module name="NewlineAtEndOfFile" /> | 
|  |  | 
|  | <!-- Checks that property files contain the same keys.         --> | 
|  | <!-- See http://checkstyle.sf.net/config_misc.html#Translation --> | 
|  | <module name="Translation"/> | 
|  |  | 
|  | <module name="FileLength"/> | 
|  |  | 
|  | <!-- Following interprets the header file as regular expressions. --> | 
|  | <!-- <module name="RegexpHeader"/>                                --> | 
|  |  | 
|  | <!-- Present in checkstyle-verify.xml --> | 
|  | <!--<module name="FileTabCharacter"> | 
|  | <property name="eachLine" value="true"/> | 
|  | </module>--> | 
|  |  | 
|  | <!-- Present in checkstyle-verify.xml --> | 
|  | <!--<module name="RegexpSingleline"> | 
|  | <property name="format" value="\S+\s+$"/> | 
|  | <property name="message" value="Non-empty line has trailing spaces."/> | 
|  | </module>--> | 
|  |  | 
|  | <module name="TreeWalker"> | 
|  | <property name="cacheFile" value="${checkstyle.cache.file}"/> | 
|  | <property name="tabWidth" value="4"/> | 
|  |  | 
|  | <!-- Checks for Javadoc comments.                     --> | 
|  | <!-- See http://checkstyle.sf.net/config_javadoc.html --> | 
|  | <module name="JavadocMethod"> | 
|  | <property name="scope" value="protected"/> | 
|  | <property name="allowUndeclaredRTE" value="true"/> | 
|  | </module> | 
|  | <module name="JavadocType"> | 
|  | <property name="scope" value="protected"/> | 
|  | </module> | 
|  | <module name="JavadocVariable"> | 
|  | <property name="scope" value="protected"/> | 
|  | </module> | 
|  | <module name="JavadocStyle"/> | 
|  |  | 
|  | <!-- Checks for Naming Conventions.                  --> | 
|  | <!-- See http://checkstyle.sf.net/config_naming.html --> | 
|  | <module name="ConstantName"/> | 
|  | <module name="LocalFinalVariableName"/> | 
|  | <module name="LocalVariableName"/> | 
|  | <module name="MemberName"/> | 
|  | <module name="MethodName"/> | 
|  | <module name="PackageName"/> | 
|  | <module name="ParameterName"/> | 
|  | <module name="StaticVariableName"/> | 
|  | <module name="TypeName"/> | 
|  |  | 
|  | <!-- Checks for Headers                                --> | 
|  | <!-- See http://checkstyle.sf.net/config_header.html   --> | 
|  | <!-- <module name="Header">                            --> | 
|  | <!-- The follow property value demonstrates the ability     --> | 
|  | <!-- to have access to ANT properties. In this case it uses --> | 
|  | <!-- the ${basedir} property to allow Checkstyle to be run  --> | 
|  | <!-- from any directory within a project. See property      --> | 
|  | <!-- expansion,                                             --> | 
|  | <!-- http://checkstyle.sf.net/config.html#properties        --> | 
|  | <!-- <property                                              --> | 
|  | <!--     name="headerFile"                                  --> | 
|  | <!--     value="${basedir}/java.header"/>                   --> | 
|  | <!-- </module> --> | 
|  |  | 
|  | <!-- Checks for imports                              --> | 
|  | <!-- See http://checkstyle.sf.net/config_import.html --> | 
|  | <module name="IllegalImport"/> <!-- defaults to sun.* packages --> | 
|  | <!-- Present in checkstyle-verify.xml --> | 
|  | <!--<module name="AvoidStarImport"/>--> | 
|  | <module name="RedundantImport"/> | 
|  | <!-- Present in checkstyle-verify.xml --> | 
|  | <!--<module name="UnusedImports"/>--> | 
|  |  | 
|  | <!-- Checks for Size Violations.                    --> | 
|  | <!-- See http://checkstyle.sf.net/config_sizes.html --> | 
|  | <!-- Present in checkstyle-verify.xml --> | 
|  | <!--<module name="LineLength"> | 
|  | <property name="max" value="130"/> | 
|  | <property name="ignorePattern" value="@version|@see|@todo|TODO"/> | 
|  | </module>--> | 
|  | <module name="MethodLength"/> | 
|  | <module name="ParameterNumber"/> | 
|  |  | 
|  | <!-- Checks for whitespace                               --> | 
|  | <!-- See http://checkstyle.sf.net/config_whitespace.html --> | 
|  | <module name="EmptyForIteratorPad"/> | 
|  | <module name="OperatorWrap"/> | 
|  | <!-- Present in checkstyle-verify.xml --> | 
|  | <!--<module name="MethodParamPad"/> | 
|  | <module name="NoWhitespaceAfter"/> | 
|  | <module name="NoWhitespaceBefore"/> | 
|  | <module name="ParenPad"/> | 
|  | <module name="TypecastParenPad"/> | 
|  | <module name="WhitespaceAfter"/> | 
|  | <module name="WhitespaceAround"> | 
|  | <property name="allowEmptyConstructors" value="true"/> | 
|  | </module>--> | 
|  |  | 
|  | <!-- Modifier Checks                                    --> | 
|  | <!-- See http://checkstyle.sf.net/config_modifiers.html --> | 
|  | <!--<module name="ModifierOrder"/>--> | 
|  | <module name="RedundantModifier"/> | 
|  |  | 
|  | <!-- Checks for blocks. You know, those {}'s         --> | 
|  | <!-- See http://checkstyle.sf.net/config_blocks.html --> | 
|  | <module name="AvoidNestedBlocks"/> | 
|  | <!-- Present in checkstyle-verify.xml --> | 
|  | <!--<module name="EmptyBlock"/> | 
|  | <module name="LeftCurly"/> | 
|  | <module name="NeedBraces"/> | 
|  | <module name="RightCurly"/>--> | 
|  |  | 
|  | <!-- Checks for common coding problems               --> | 
|  | <!-- See http://checkstyle.sf.net/config_coding.html --> | 
|  | <!-- module name="AvoidInlineConditionals"/--> | 
|  | <module name="EmptyStatement"/> | 
|  | <module name="EqualsHashCode"/> | 
|  | <module name="HiddenField"> | 
|  | <property name="ignoreConstructorParameter" value="true"/> | 
|  | <property name="ignoreSetter" value="true"/> | 
|  | </module> | 
|  | <module name="IllegalInstantiation"/> | 
|  | <module name="InnerAssignment"/> | 
|  | <module name="MagicNumber"> | 
|  | <property name="ignoreHashCodeMethod" value="true"/> | 
|  | </module> | 
|  | <module name="MissingSwitchDefault"/> | 
|  |  | 
|  | <!-- TODO: Ignoring module until this bug is resolved: https://jira.codehaus.org/browse/MCHECKSTYLE-271 --> | 
|  | <!--<module name="RedundantThrows"> | 
|  | <property name="allowUnchecked" value="true"/> | 
|  | </module>--> | 
|  |  | 
|  | <module name="RedundantModifier"> | 
|  | <property name="tokens" value="INTERFACE_DEF"/> | 
|  | </module> | 
|  | <module name="SimplifyBooleanExpression"/> | 
|  | <module name="SimplifyBooleanReturn"/> | 
|  |  | 
|  | <!-- Checks for class design                         --> | 
|  | <!-- See http://checkstyle.sf.net/config_design.html --> | 
|  | <module name="DesignForExtension"/> | 
|  | <module name="FinalClass"/> | 
|  | <module name="HideUtilityClassConstructor"/> | 
|  | <module name="InterfaceIsType"/> | 
|  | <module name="VisibilityModifier"/> | 
|  | <module name="ThrowsCount"> | 
|  | <property name="max" value="3"/> | 
|  | </module> | 
|  |  | 
|  | <!-- Miscellaneous other checks.                   --> | 
|  | <!-- See http://checkstyle.sf.net/config_misc.html --> | 
|  | <module name="ArrayTypeStyle"/> | 
|  | <module name="FinalParameters"/> | 
|  | <module name="TodoComment"/> | 
|  | <!-- Present in checkstyle-verify.xml --> | 
|  | <!--<module name="UpperEll"/>--> | 
|  | </module> | 
|  | </module> |