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

<!-- $Id$ -->

<checkstyle-configurations file-format-version="1.0.0">
    <check-configuration name="standard">
        <rule-configuration
            classname="com.puppycrawl.tools.checkstyle.checks.JavadocTypeCheck" severity="warning">
            <config-properties>
                <config-property name="severity" value="warning"/>
                <config-property name="tokens" value="CLASS_DEF, INTERFACE_DEF"/>
                <config-property name="authorFormat" value=""/>
                <config-property name="scope" value="private"/>
                <config-property name="versionFormat" value=""/>
            </config-properties>
        </rule-configuration>
        <rule-configuration
            classname="com.puppycrawl.tools.checkstyle.checks.JavadocMethodCheck" severity="warning">
            <config-properties>
                <config-property name="allowThrowsTagsForSubclasses" value="false"/>
                <config-property name="allowUndeclaredRTE" value="false"/>
                <config-property name="severity" value="warning"/>
                <config-property name="tokens" value="METHOD_DEF, CTOR_DEF"/>
                <config-property name="allowMissingParamTags" value="false"/>
                <config-property name="scope" value="private"/>
                <config-property name="allowMissingReturnTag" value="false"/>
                <config-property name="allowMissingThrowsTags" value="false"/>
            </config-properties>
        </rule-configuration>
        <rule-configuration
            classname="com.puppycrawl.tools.checkstyle.checks.RedundantModifierCheck" severity="warning">
            <config-properties>
                <config-property name="severity" value="warning"/>
                <config-property name="tokens" value="METHOD_DEF, VARIABLE_DEF"/>
            </config-properties>
        </rule-configuration>
        <rule-configuration
            classname="com.puppycrawl.tools.checkstyle.checks.VisibilityModifierCheck" severity="warning">
            <config-properties>
                <config-property name="packageAllowed" value="false"/>
                <config-property name="severity" value="warning"/>
                <config-property name="publicMemberPattern" value="^serialVersionUID"/>
                <config-property name="protectedAllowed" value="false"/>
            </config-properties>
        </rule-configuration>
        <rule-configuration
            classname="com.puppycrawl.tools.checkstyle.checks.FinalClassCheck" severity="warning">
            <config-properties>
                <config-property name="severity" value="warning"/>
            </config-properties>
        </rule-configuration>
        <rule-configuration
            classname="com.puppycrawl.tools.checkstyle.checks.HideUtilityClassConstructorCheck" severity="warning">
            <config-properties>
                <config-property name="severity" value="warning"/>
            </config-properties>
        </rule-configuration>
    </check-configuration>
</checkstyle-configurations>
