<?xml version="1.0"?>
<!--
  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.
-->

<!DOCTYPE module PUBLIC
        "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
        "http://checkstyle.sourceforge.net/dtds/configuration_1_3.dtd">

<module name="Checker">
    <property name="charset" value="UTF-8"/>

    <property name="severity" value="info"/>

    <property name="fileExtensions" value="java, properties, xml"/>

    <module name="FileTabCharacter">
        <property name="eachLine" value="true"/>
    </module>

    <module name="LineLength">
        <property name="max" value="200"/>
        <property name="ignorePattern" value="^ *\* *[^ ]+$"/>
    </module>

    <module name="TreeWalker">
        <module name="OuterTypeFilename">
            <property name="severity" value="error"/>
        </module>

        <module name="OneTopLevelClass">
            <property name="severity" value="error"/>
        </module>

        <module name="NoLineWrap">
            <property name="severity" value="error"/>
        </module>

        <module name="NeedBraces">
            <property name="severity" value="error"/>
        </module>

        <module name="LeftCurly">
            <property name="severity" value="error"/>
        </module>

        <module name="AvoidNestedBlocks">
            <property name="allowInSwitchCase" value="true"/>
        </module>

        <module name="IllegalTokenText">
            <property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
            <property name="format"
                      value="\\u00(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="Consider using special escape sequence instead of octal value or Unicode escaped value."/>
        </module>

        <module name="AvoidEscapedUnicodeCharacters">
            <property name="allowEscapesForControlCharacters" value="true"/>
            <property name="allowByTailComment" value="true"/>
            <property name="allowNonPrintableEscapes" value="true"/>
        </module>

        <module name="EmptyBlock">
            <property name="option" value="TEXT"/>
            <property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
        </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.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)"/>
            <message key="ws.notPreceded"
                     value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
        </module>

        <module name="OneStatementPerLine"/>

        <module name="MultipleVariableDeclarations"/>

        <module name="ArrayTypeStyle"/>

        <module name="MissingSwitchDefault"/>

        <module name="FallThrough"/>

        <module name="UpperEll"/>

        <module name="ModifierOrder"/>

        <module name="EmptyLineSeparator">
            <property name="allowMultipleEmptyLines" value="false"/>
            <property name="allowMultipleEmptyLinesInsideClassMembers" value="false"/>
            <property name="tokens" value="PACKAGE_DEF, IMPORT, STATIC_IMPORT, CLASS_DEF,
                                            INTERFACE_DEF, ENUM_DEF, STATIC_INIT, INSTANCE_INIT, METHOD_DEF,
                                            CTOR_DEF"/>
        </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="TypeName">
            <message key="name.invalidPattern"
                     value="Type name ''{0}'' must match pattern ''{1}''."/>
        </module>

        <module name="MemberName">
            <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
            <message key="name.invalidPattern"
                     value="Member name ''{0}'' must match pattern ''{1}''."/>
        </module>

        <module name="ParameterName">
            <property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
            <message key="name.invalidPattern"
                     value="Parameter name ''{0}'' must match pattern ''{1}''."/>
        </module>

        <module name="CatchParameterName">
            <property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
            <message key="name.invalidPattern"
                     value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
        </module>

        <module name="LocalVariableName">
            <property name="tokens" value="VARIABLE_DEF"/>
            <property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
            <message key="name.invalidPattern"
                     value="Local variable name ''{0}'' must match pattern ''{1}''."/>
        </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="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="InterfaceTypeParameterName">
            <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
            <message key="name.invalidPattern"
                     value="Interface type name ''{0}'' must match pattern ''{1}''."/>
        </module>

        <module name="NoFinalizer"/>

        <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="Indentation">
            <property name="basicOffset" value="4"/>
            <property name="braceAdjustment" value="0"/>
            <property name="caseIndent" value="4"/>
            <property name="throwsIndent" value="2"/>
            <property name="lineWrappingIndentation" value="4"/>
            <property name="arrayInitIndent" value="4"/>
        </module>

        <module name="IllegalImport">
            <property name="regexp" value="true"/>
            <property name="illegalPkgs"
                      value="^com\.google\.api\.client\.repackaged,
                      ^avro\.shaded, ^org\.apache\.hadoop\.hbase\.shaded,
                      ^org\.apache\.hadoop\.shaded,
                      ^javax\.ws\.rs\.ext,
                      ^cc\.concurrent\.mango\.util\.concurrent,
                      ^org\.apache\.curator-test\.shaded,
                      ^com\.sun\.istack,
                      ^org\.jetbrains\.annotations,
                      ^jline\.internal,
                      ^com\.cronutils\.utils,
                      ^javax\.ws\.rs\.ext,
                      ^org\.jboss\.netty\.util\.internal,
                      ^com\.sun\.javafx,
                      ^io\.reactivex\.annotations,
                      ^org\.codehaus\.jackson"/>
            <property name="illegalClasses"
                      value="^java\.util\.logging\.Logging,
                      ^sun\.misc\.BASE64Encoder,
                      ^sun\.misc\.BASE64Decoder,
                      ^jdk\.internal\.jline\.internal\.Nullable"/>
        </module>

        <module name="RedundantImport"/>

        <module name="UnusedImports"/>

        <module name="ImportOrder">
            <property name="staticGroups" value="org.apache.dolphinscheduler,org.apache,java,javax,org,com"/>
            <property name="separatedStaticGroups" value="true"/>

            <property name="groups" value="org.apache.dolphinscheduler,org.apache,java,javax,org,com"/>
            <property name="ordered" value="true"/>
            <property name="separated" value="true"/>
            <property name="option" value="top"/>
            <property name="sortStaticImportsAlphabetically" value="true"/>
        </module>

        <module name="NoWhitespaceBefore">
            <property name="tokens" value="COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS, METHOD_REF"/>
            <property name="allowLineBreaks" value="true"/>
        </module>

        <module name="ParenPad"/>

        <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, METHOD_REF "/>
        </module>

        <module name="AnnotationLocation">
            <property name="allowSamelineMultipleAnnotations" value="false"/>
            <property name="allowSamelineSingleParameterlessAnnotation"
                      value="false"/>
            <property name="allowSamelineParameterizedAnnotation" value="true"/>
            <property name="tokens" value="METHOD_DEF, CTOR_DEF"/>
        </module>

        <module name="MethodName">
            <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}''."/>
        </module>

        <module name="EmptyCatchBlock">
            <property name="exceptionVariableName" value="expected"/>
        </module>

        <module name="CommentsIndentation"/>

        <module name="EmptyStatement">
            <property name="severity" value="error"/>
        </module>

        <module name="JavadocStyle">
            <property name="endOfSentenceFormat" value=""/>
        </module>

        <module name="JavadocType">
            <property name="scope" value="protected"/>
            <property name="allowMissingParamTags" value="true"/>
        </module>

        <module name="AvoidStarImport"/>

    </module>
</module>
