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

# http://checkstyle.sf.net/config_javadoc.html
checkstyle.javadoc.scope = public
checkstyle.require.packagehtml = true
checkstyle.require.version = false
checkstyle.allow.noauthor = true

# http://checkstyle.sf.net/config_naming.html
checkstyle.pattern.const = ^[A-Z](_?[A-Z0-9]+)*$
checkstyle.pattern.static = ^[a-z][a-zA-Z0-9]*$
checkstyle.pattern.parameter = ^[a-z][a-zA-Z0-9]*$
checkstyle.pattern.package = ^[a-z]+(\.[a-z][a-z0-9]*)*$
checkstyle.pattern.type = ^[A-Z][a-zA-Z0-9]*$
checkstyle.pattern.method = ^[a-z][a-zA-Z0-9]*$
checkstyle.pattern.localvar = ^[a-z][a-zA-Z0-9]*$
checkstyle.pattern.localfinalvar = ^[a-z][a-zA-Z0-9]*$

# http://checkstyle.sf.net/config_header.html
checkstyle.header.ignore.line = 1,2,3,4,5,6

# http://checkstyle.sf.net/config_import.html
checkstyle.illegal.imports = sun,com

# http://checkstyle.sf.net/config_sizes.html
checkstyle.maxlinelen = 120
# be overly strict here for while
checkstyle.maxmethodlen = 25
checkstyle.maxconstructorlen = 25
checkstyle.maxfilelen = 200
checkstyle.maxparameters = 4

# http://checkstyle.sf.net/config_whitespace.html
checkstyle.allow.tabs = false
checkstyle.ignore.whitespace = true
checkstyle.paren.pad = nopad
checkstyle.wrap.operator = eol

# http://checkstyle.sf.net/config_modifiers.html
checkstyle.pattern.publicmember = ^$

# http://checkstyle.sf.net/config_blocks.html
checkstyle.block.try = stmt
checkstyle.block.catch = stmt
checkstyle.block.finally = stmt
checkstyle.lcurly.type = eol
checkstyle.lcurly.method = eol
checkstyle.lcurly.other = eol
checkstyle.rcurly = same

# http://checkstyle.sf.net/config_misc.html
checkstyle.illegal.instantiations = java.lang.Boolean,java.lang.String
