<?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.

-->
	<!--
		This configuration file was written by the eclipse-cs plugin
		configuration editor
	-->
	<!--
		Checkstyle-Configuration: AdobeProfessionalSerives Description: Adobe
		Professional Services checkstyle ruleset
	-->
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN" "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<module name="Checker">
	<property name="severity" value="warning" />
	<module name="TreeWalker">
		<module name="AbstractClassName" />
		<module name="ConstantName" />
		<module name="LocalFinalVariableName" />
		<module name="LocalVariableName" />
		<module name="MemberName" />
		<module name="MethodName" />
		<module name="ParameterName" />
		<module name="StaticVariableName" />
		<module name="TypeName" />
		<module name="FileLength" />
		<module name="LineLength">
			<property name="max" value="120" />
		</module>
		<module name="MethodLength">
			<property name="max" value="50" />
		</module>
		<module name="ParameterNumber">
			<property name="max" value="4" />
		</module>
		<module name="AvoidInlineConditionals">
			<property name="severity" value="ignore" />
		</module>
		<module name="DefaultComesLast" />
		<module name="EmptyStatement" />
		<module name="ExplicitInitialization">
			<property name="severity" value="ignore" />
		</module>
		<module name="FallThrough" />
		<module name="HiddenField" />
		<module name="IllegalInstantiation" />
		<module name="IllegalCatch" />
		<module name="IllegalThrows" />
		<module name="MagicNumber">
			<property name="severity" value="ignore" />
		</module>
		<module name="ParameterAssignment" />
		<module name="SimplifyBooleanExpression" />
		<module name="SimplifyBooleanReturn" />
		<module name="SuperClone" />
		<module name="UnnecessaryParentheses" />
		<module name="FinalClass" />
		<module name="DesignForExtension">
			<property name="severity" value="ignore" />
		</module>
		<module name="ArrayTypeStyle" />
	</module>
</module>
