<?xml version="1.0" ?>

<!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">

<!--
  ~ Licensed to Metamarkets Group Inc. (Metamarkets) under one
  ~ or more contributor license agreements. See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership. Metamarkets 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">
  <module name="Header">
    <property name="headerFile" value="${checkstyle.header.file}"/>
    <property name="fileExtensions" value="java"/>
  </module>

  <module name="SuppressionCommentFilter">
    <property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/>
    <property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/>
    <property name="checkFormat" value="$1"/>
  </module>

  <module name="NewlineAtEndOfFile"/>
  <module name="FileTabCharacter"/>

  <module name="TreeWalker">
    <module name="FileContentsHolder"/>

    <module name="RedundantModifier">
      <property name="tokens" value="INTERFACE_DEF,ENUM_DEF,METHOD_DEF"/>
    </module>

    <!-- See http://checkstyle.sourceforge.net/checks.html for examples -->

    <!--<module name="LineLength">-->
      <!--<property name="max" value="120"/>-->
    <!--</module>-->
    <module name="AvoidStarImport"/>
    <module name="AvoidStaticImport"/>
    <module name="RedundantImport"/>
    <module name="UnusedImports" />
    <module name="NeedBraces"/>
    <module name="LeftCurly">
      <property name="option" value="nl"/>
      <property name="tokens" value="INTERFACE_DEF,CLASS_DEF,ANNOTATION_DEF,ENUM_DEF,CTOR_DEF,METHOD_DEF"/>
    </module>
    <module name="LeftCurly">
      <property name="option" value="eol"/>
      <property name="tokens" value="LITERAL_WHILE,LITERAL_TRY,LITERAL_CATCH,LITERAL_FINALLY,LITERAL_SYNCHRONIZED,LITERAL_SWITCH,LITERAL_DO,LITERAL_IF,LITERAL_ELSE,LITERAL_FOR,STATIC_INIT,LAMBDA,ENUM_CONSTANT_DEF"/>
    </module>
    <module name="RightCurly">
      <property name="option" value="same"/>
      <property name="tokens" value="LITERAL_IF,LITERAL_ELSE,LITERAL_DO"/>
    </module>
    <module name="RightCurly">
      <property name="option" value="alone"/>
      <property name="tokens" value="LITERAL_TRY,LITERAL_CATCH,LITERAL_FINALLY,CLASS_DEF,METHOD_DEF,CTOR_DEF,LITERAL_FOR,LITERAL_WHILE,STATIC_INIT,INSTANCE_INIT"/>
    </module>

    <module name="WhitespaceAfter"/>
    <module name="WhitespaceAround">
      <property name="allowEmptyConstructors" value="true"/>
      <property name="allowEmptyMethods" value="true"/>
      <property name="allowEmptyLambdas" value="true"/>
      <property name="allowEmptyTypes" value="true"/>
    </module>
    <module name="ParenPad"/>
    <module name="SingleSpaceSeparator"/>
    <module name="NoWhitespaceBefore">
      <property name="tokens" value="COMMA,SEMI,POST_INC,POST_DEC,ELLIPSIS,METHOD_REF"/>
    </module>
    <module name="NoWhitespaceBefore">
      <property name="tokens" value="DOT"/>
      <property name="allowLineBreaks" value="true"/>
    </module>
    <module name="NoWhitespaceAfter"/>
    <module name="NoWhitespaceAfter">
      <property name="tokens" value="DOT"/>
      <property name="allowLineBreaks" value="false"/>
    </module>

    <module name="Indentation">
      <property name="basicOffset" value="2"/>
      <property name="caseIndent" value="2"/>
    </module>

    <module name="Regexp">
      <property name="format" value="com\.google\.common\.io\.Closer"/>
      <property name="illegalPattern" value="true"/>
      <property name="message" value="Use io.druid.java.util.common.io.Closer instead of Guava's Closer"/>
    </module>
    <module name="Regexp">
      <property name="format" value="^// {2}"/>
      <property name="illegalPattern" value="true"/>
      <property name="message" value="Don't commit IntelliJ-style commented code lines"/>
    </module>
    <module name="Regexp">
      <property name="format" value="/\*[^\*].*?\n(\s*\*.*?\n)*\s+\*/[\s\n]*(transient|volatile|strictfp|synchronized|native|abstract|class|interface|enum|static|private|public|protected|default|void|byte|char|short|int|float|long|double|[A-Z])"/>
      <property name="illegalPattern" value="true"/>
      <property name="message" value="Comments to classes and methods must be Javadoc comments"/>
    </module>
    <module name="Regexp">
      <property name="format" value="natural\(\)[\s\n]*\.[\s\n]*nullsFirst\(\)"/>
      <property name="illegalPattern" value="true"/>
      <property name="message" value="Use Comparators.naturalNullsFirst() instead of Ordering.natural().nullsFirst()"/>
    </module>
    <module name="Regexp">
      <property name="format" value="Enums\.getIfPresent\("/>
      <property name="illegalPattern" value="true"/>
      <property name="message" value="Use GuavaUtils.getEnumIfPresent() instead of Enums.getIfPresent()"/>
    </module>
    <module name="Regexp">
      <property name="format" value="(Byte|Character|Short|Integer|Long|Float|Double)\.TYPE"/>
      <property name="illegalPattern" value="true"/>
      <property name="message" value="Use primitive.class instead. But check twice that you don't actually need BoxedPrimitive.class instead of BoxedPrimitive.TYPE"/>
    </module>
    <module name="Regexp">
      <property name="format" value="Float\.MAX_VALUE"/>
      <property name="illegalPattern" value="true"/>
      <property name="message" value="Use Float.POSITIVE_INFINITY"/>
    </module>
    <module name="Regexp">
      <property name="format" value="Float\.MIN_VALUE"/>
      <property name="illegalPattern" value="true"/>
      <property name="message" value="Use Float.NEGATIVE_INFINITY"/>
    </module>
    <module name="Regexp">
      <property name="format" value="Double\.MAX_VALUE"/>
      <property name="illegalPattern" value="true"/>
      <property name="message" value="Use Double.POSITIVE_INFINITY"/>
    </module>
    <module name="Regexp">
      <property name="format" value="Double\.MIN_VALUE"/>
      <property name="illegalPattern" value="true"/>
      <property name="message" value="Use Double.NEGATIVE_INFINITY"/>
    </module>
    <module name="Regexp">
      <property name="format" value="com\.metamx\.common\.logger"/>
      <property name="illegalPattern" value="true"/>
      <property name="message" value="Use io.druid.java.util.common.logger.Logger instead"/>
    </module>
  </module>
</module>
