<?xml version="1.0" ?>
<!-- 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. -->
<!DOCTYPE module PUBLIC
        "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
        "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">

<!-- This is a temporary file. As we get closer to enforcing the OpenJPA
    style to be like the default Sun Microsystems Definition default file, then
    we can remove this file and remove the reference from the pom.xml -->

<module name="Checker">
    <module name="NewlineAtEndOfFile">
        <property name="lineSeparator" value="lf"/>
    </module>
    <module name="LineLength">
        <property name="max" value="150"/>
    </module>
    <module name="TreeWalker">
        <module name="RegexpSinglelineJava">
            <property name="format" value="System\.(out|err)\.print(ln)?\("/>
            <property name="ignoreComments" value="true"/>
        </module>
        <module name="SuppressionCommentFilter">
            <property name="offCommentFormat" value="// START - ALLOW PRINT STATEMENTS"/>
            <property name="onCommentFormat" value="// STOP - ALLOW PRINT STATEMENTS"/>
        </module>
    </module>

    <!-- File location is specified in root pom.xml via ${checkstyle.suppressions.location} -->
    <module name="SuppressionFilter">
        <property name="file" value="${checkstyle.suppressions.location}"/>
        <property name="optional" value="true"/>
    </module>
</module>
