<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
     "http://www.puppycrawl.com/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.
-->
<module name="Checker">
  <property name="localeLanguage" value="en"/>

  <!-- allow suppression for specific files -->
  <module name="SuppressionCommentFilter"/>

  <module name="FileTabCharacter"/>

  <!-- header: use one star only -->
  <module name="RegexpHeader">
    <property name="header" value="/\*\nLicensed to the Apache.*"/>
  </module>

  <module name="TreeWalker">

    <!-- code cleanup -->
    <module name="UnusedImports">
      <property name="id" value="allowJavadocUnusedImports"/>
      <property name="processJavadoc" value="true"/>
    </module>
    <module name="UnusedImports"> <!-- suppressed for samza-api -->
      <property name="id" value="preventJavadocUnusedImports"/>
      <property name="processJavadoc" value="false"/>
    </module>
    <module name="FileContentsHolder"/>
    <module name="RedundantImport"/>
    <module name="IllegalImport" />
    <module name="EqualsHashCode"/>
    <module name="SimplifyBooleanExpression"/>
    <module name="OneStatementPerLine"/>
    <module name="UnnecessaryParentheses" />
    <module name="SimplifyBooleanReturn"/>

    <!-- style -->
    <module name="DefaultComesLast"/>
    <module name="EmptyStatement"/>
    <module name="ArrayTypeStyle"/>
    <module name="UpperEll"/>
    <module name="LeftCurly"/>
    <module name="RightCurly"/>
    <module name="EmptyStatement"/>
    <module name="ConstantName">
      <property name="format" value="(^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$)|(^log$)"/>
    </module>
    <module name="LocalVariableName"/>
    <module name="LocalFinalVariableName"/>
    <module name="MemberName"/>
    <module name="PackageName"/>
    <module name="ParameterName"/>
    <module name="StaticVariableName"/>
    <module name="TypeName"/>

    <!-- whitespace -->
    <module name="GenericWhitespace"/>
    <module name="NoWhitespaceBefore"/>
    <module name="NoWhitespaceAfter"/>
    <module name="WhitespaceAfter" />
    <module name="WhitespaceAround">
      <property name="allowEmptyConstructors" value="true"/>
      <property name="allowEmptyMethods" value="true"/>
    </module>
    <!-- set indentation with 2 spaces to be consistent with Scala -->
    <module name="Indentation">
      <property name="basicOffset" value="2"/>
      <property name="caseIndent" value="2"/>
      <property name="throwsIndent" value="2"/>
      <property name="lineWrappingIndentation" value="2"/>
    </module>
    <module name="MethodParamPad"/>
    <module name="ParenPad"/>
    <module name="TypecastParenPad"/>
  </module>
  <module name="SuppressionFilter">
    <property name="file" value="checkstyle/checkstyle-suppressions.xml"/>
  </module>
</module>
