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

<module name="Checker">

    <!-- File encoding -->
    <property name="charset" value="UTF-8"/>

    <!-- Fail build on any violation -->
    <property name="severity" value="error"/>

    <!-- Disallow tabs -->
    <module name="FileTabCharacter"/>

    <!-- Max line length -->
    <module name="LineLength">
        <property name="max" value="120"/>
    </module>

    <module name="TreeWalker">

        <!-- Naming conventions -->
        <module name="TypeName"/>
        <module name="MethodName"/>
        <module name="ParameterName"/>
        <module name="LocalVariableName"/>
        <module name="MemberName"/>

        <!-- Imports -->
        <module name="AvoidStarImport"/>
        <module name="UnusedImports"/>
        <module name="RedundantImport"/>

        <!-- Braces -->
        <module name="NeedBraces"/>
        <module name="LeftCurly"/>
        <module name="RightCurly"/>

        <!-- Whitespace -->
        <module name="WhitespaceAround"/>
        <module name="WhitespaceAfter"/>

        <!-- Empty blocks are forbidden -->
        <module name="EmptyBlock"/>

        <!-- Enforce final for local variables when possible -->
        <module name="FinalLocalVariable"/>

    </module>

</module>
