<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC
    "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
    "https://checkstyle.org/dtds/configuration_1_3.dtd">

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!--
  SketchesCheckstyle.xml for sketches-core

  Checkstyle is very configurable. Be sure to read the documentation at
  http://checkstyle.sourceforge.net (or in your downloaded distribution). Note: Does not work with https.

  To completely disable a check, just comment it out or delete it from the file.

  Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
-->

<module name = "Checker">
  <property name="charset" value="UTF-8"/>
  <property name="severity" value="warning"/>
  <property name="fileExtensions" value="java, properties, xml"/>

  <module name="FileTabCharacter">
    <property name="eachLine" value="true"/>
  </module>
  
  <module name="JavadocPackage"/>
  
  <module name="NewlineAtEndOfFile">
    <property name="lineSeparator" value="lf"/>
  </module>
  
  <module name="TreeWalker">
    
    <!-- Annotations -->
    <module name="AnnotationLocation">
      <property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>
    </module>
    
    <module name="AnnotationLocation">
      <property name="tokens" value="VARIABLE_DEF"/>
      <property name="allowSamelineMultipleAnnotations" value="true"/>
    </module>

    <!-- Block Checks -->
    <module name="EmptyBlock">
      <property name="severity" value="warning"/>
      <property name="option" value="TEXT"/>
      <property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <module name="EmptyCatchBlock">
      <property name="severity" value="ignore"/>
      <property name="exceptionVariableName" value="expected"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <module name="LeftCurly"> 
      <!-- doesn't allow for if (n == 0) { return 0.0; }, which is readable and not corruptable -->
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <module name="NeedBraces">
      <property name="allowSingleLineStatement" value="false"/> <!-- default = false -->
      <property name="allowEmptyLoopBody" value="false"/>       <!-- default = false -->
    </module>
    
    <module name="RightCurly"> 
      <!-- requires right curly start a new line; alone: on a line alone -->
      <property name="severity" value="ignore"/>
      <property name="option" value="alone"/>
      <property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, STATIC_INIT, INSTANCE_INIT"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <!-- Coding -->
    <module name="FallThrough">
      <property name="severity" value="warning"/>
      <property name="reliefPattern" value="fallthru|falls? ?through|FALL[- ]?THROUGH"/>
      <!-- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/> -->
    </module>
    
    <module name="FinalLocalVariable">
      <property name="severity" value="warning"/>
      <property name="tokens" value="VARIABLE_DEF,PARAMETER_DEF"/>
    </module>
    
    <module name="IllegalTokenText">
      <property name="severity" value="warning"/>
      <property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
      <property name="format" value="\\u00(08|09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
      <property name="message" value="Avoid using corresponding octal or Unicode escape."/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <module name="MissingSwitchDefault">
      <!-- Too many false positives -->
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <module name="MultipleVariableDeclarations">
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <module name="NoFinalizer">
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <module name="OneStatementPerLine">
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <module name="OverloadMethodsDeclarationOrder">
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <module name="VariableDeclarationUsageDistance">
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <!-- Class Design -->
    <module name="OneTopLevelClass"/>
    
    <module name="FinalClass"/>
    
    <!-- Imports -->
    <module name="AvoidStarImport"/>
    
    <module name="CustomImportOrder">
      <property name="specialImportsRegExp" value="org"/>
      <property name="sortImportsInGroupAlphabetically" value="true"/>
      <property name="separateLineBetweenGroups" value="true"/>
      <!-- Google: "STATIC###SPECIAL_IMPORTS###THIRD_PARTY_PACKAGE###STANDARD_JAVA_PACKAGE" -->
      <property name="customImportOrderRules" value="STATIC###STANDARD_JAVA_PACKAGE###SPECIAL_IMPORTS###THIRD_PARTY_PACKAGE"/>
    </module>
    
    <module name="RedundantImport"/>
    
    <module name="UnusedImports"/>
    
    <!-- Filters -->
    <!-- Enable suppression using comments: //CHECKSTYLE.OFF: "RULE" and //CHECKSTYLE.ON: "RULE"
     You must specify the specific rule, as in: //CHECKSTYLE.OFF: LineLength -->
    <module name="SuppressionCommentFilter">
      <property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/>
      <property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/>
      <property name="checkFormat" value="$1"/>
    </module>
    
    <!-- Javadoc Comments -->
    <!-- JavadocPackage under Checker -->
    <module name="AtclauseOrder">
      <property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
      <property name="target" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
    </module>
    
    <module name="JavadocMethod">
      <property name="scope" value="public"/>
      <property name="allowMissingParamTags" value="false"/>
      <property name="allowMissingThrowsTags" value="true"/>
      <property name="allowMissingReturnTag" value="false"/>
      <property name="minLineCount" value="2"/>
      <property name="allowedAnnotations" value="Override, Test"/>
      <property name="allowThrowsTagsForSubclasses" value="true"/>
    </module>
    
    <module name="JavadocParagraph"/>

    <module name="JavadocTagContinuationIndentation">
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
        
    <module name="NonEmptyAtclauseDescription"/>
    
    <module name="SingleLineJavadoc">
      <property name="ignoreInlineTags" value="false"/>
    </module>
    
    <module name="SummaryJavadocCheck">
      <property name="severity" value="ignore"/>
      <property name="forbiddenSummaryFragments" value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <!-- Miscellaneous -->
    <module name="ArrayTypeStyle">
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>

    <module name="AvoidEscapedUnicodeCharacters">
      <property name="severity" value="warning"/>
      <property name="allowEscapesForControlCharacters" value="true"/>
      <property name="allowByTailComment" value="true"/>
      <property name="allowNonPrintableEscapes" value="true"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>    
    
    <module name="CommentsIndentation">
      <property name="severity" value="warning"/>
      <!-- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/> -->
    </module>
    
    <module name="Indentation">
      <property name="severity" value="ignore"/>
      <property name="basicOffset" value="2"/>
      <property name="braceAdjustment" value="0"/>
      <property name="caseIndent" value="2"/>
      <property name="throwsIndent" value="4"/>
      <property name="lineWrappingIndentation" value="4"/>
      <property name="arrayInitIndent" value="2"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <module name="OuterTypeFilename">
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <module name="TodoComment">
      <property name="severity" value="ignore"/>
      <property name="format" value="(//TODO)|(//FIXME)"/>
    </module>
    
    <module name="UpperEll">
      <property name="severity" value="warning"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>
    
    <!-- Modifiers -->
    <module name="ModifierOrder">
      <property name="severity" value="ignore"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>    
    
    <!-- Naming Conventions -->
    <module name="AbbreviationAsWordInName">
      <property name="severity" value="ignore"/>
      <property name="ignoreFinal" value="false"/>
      <property name="allowedAbbreviationLength" value="1"/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>

    <module name="ClassTypeParameterName">
      <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
      <message key="name.invalidPattern"
          value="Class type name ''{0}'' must match pattern ''{1}''."/>
    </module>

    <module name="LocalVariableName">
      <property name="severity" value="ignore"/>
      <property name="tokens" value="VARIABLE_DEF"/>
      <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
      <property name="allowOneCharVarInForLoop" value="true"/>
      <message key="name.invalidPattern"
          value="Local variable name ''{0}'' must match pattern ''{1}''."/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>

    <module name="MemberName">
      <property name="severity" value="ignore"/>
      <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
      <message key="name.invalidPattern"
          value="Member name ''{0}'' must match pattern ''{1}''."/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>

    <module name="MethodName">
      <property name="severity" value="ignore"/>
      <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
      <message key="name.invalidPattern"
          value="Method name ''{0}'' must match pattern ''{1}''."/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>

    <module name="MethodTypeParameterName">
      <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
      <message key="name.invalidPattern"
          value="Method type name ''{0}'' must match pattern ''{1}''."/>
    </module>

    <module name="PackageName">
      <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
      <message key="name.invalidPattern"
          value="Package name ''{0}'' must match pattern ''{1}''."/>
    </module>

    <module name="ParameterName">
      <property name="severity" value="ignore"/>
      <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
      <message key="name.invalidPattern"
          value="Parameter name ''{0}'' must match pattern ''{1}''."/>
      <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
    </module>

    <module name="TypeName">
      <message key="name.invalidPattern"
          value="Type name ''{0}'' must match pattern ''{1}''."/>
    </module>

    <!-- Regexp -->    
    <module name="Regexp">
      <property name="severity" value="ignore"/>
      <property name="format" value="[ \t]+$"/>
      <property name="illegalPattern" value="true"/>
      <property name="message" value="Trailing whitespace"/>
      <property name="ignoreComments" value="true"/>
    </module>
    
    <!-- Size Violations -->
    <module name="LineLength">
      <property name="severity" value="warning"/>
      <property name="max" value="110"/>
      <property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
      <!-- <metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/> -->
    </module>
    
    <!-- Whitespace -->
    <module name="EmptyLineSeparator">
      <property name="allowNoEmptyLineBetweenFields" value="true"/>
    </module>
    
    <module name="GenericWhitespace">
      <message key="ws.followed"
          value="GenericWhitespace ''{0}'' is followed by whitespace."/>
      <message key="ws.preceded"
          value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
      <message key="ws.illegalFollow"
          value="GenericWhitespace ''{0}'' should followed by whitespace."/>
      <message key="ws.notPreceded"
          value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
    </module>
    
    <module name="NoLineWrap"/> <!-- Only for import and package statements -->
    
    <module name="MethodParamPad"/>
    
    <module name="OperatorWrap">
      <property name="option" value="NL"/>
      <property name="tokens" value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR "/>
    </module>
    
    <module name="SeparatorWrap">
      <property name="tokens" value="DOT"/>
      <property name="option" value="nl"/>
    </module>
    
    <module name="SeparatorWrap">
      <property name="tokens" value="COMMA"/>
      <property name="option" value="EOL"/>
    </module>
    
    <module name="WhitespaceAround">
      <property name="allowEmptyConstructors" value="true"/>
      <property name="allowEmptyMethods" value="true"/>
      <property name="allowEmptyTypes" value="true"/>
      <property name="allowEmptyLoops" value="true"/>
      <message key="ws.notPreceded" value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
      <message key="ws.notFollowed" value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
    </module>

  </module> <!-- End of TreeWalker -->
</module>
