<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
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.
-->
<rss version="0.91">
  <channel>
    <title>Apache Log4j JDBC DBCP 2 - Checkstyle report</title>
    <link>https://logging.apache.org/log4j/2.x/log4j-jdbc-dbcp2/</link>
    <description>Apache Log4j JDBC DBCP 2 - Checkstyle report</description>
    <language>en-us</language>
    <copyright>&#169;1999 - 2020 The Apache Software Foundation</copyright>
    <item>
      <title>File: 2,
             Errors: 62,
             Warnings: 0,
             Infos: 0
      </title>
            <link>https://logging.apache.org/log4j/2.x/log4j-jdbc-dbcp2//checkstyle.html</link>
      <description>
        <p>Click <a href="https://logging.apache.org/log4j/2.x/log4j-jdbc-dbcp2//checkstyle.html">here</a> for the full Checkstyle report.</p>

        <table summary="Files" boder="1">
          <thead>
            <tr>
              <th>Files</th>
              <th style="width:30px;"><abbr title="Info">I</abbr></th>
              <th style="width:30px;"><abbr title="Warning">W</abbr></th>
              <th style="width:30px;"><abbr title="Error">E</abbr></th>
            </tr>
          </thead>
          <tbody>
                          <tr>
                <td>
                  <a href="https://logging.apache.org/log4j/2.x/log4j-jdbc-dbcp2//checkstyle.html#org.apache.logging.log4j.core.appender.db.jdbc.PoolingDriverConnectionSource.java">org/apache/logging/log4j/core/appender/db/jdbc/PoolingDriverConnectionSource.java</a>
                </td>
                <td>
                  0
                </td>
                <td>
                  0
                </td>
                <td>
                  25
                </td>
              </tr>
                          <tr>
                <td>
                  <a href="https://logging.apache.org/log4j/2.x/log4j-jdbc-dbcp2//checkstyle.html#org.apache.logging.log4j.core.appender.db.jdbc.PoolableConnectionFactoryConfig.java">org/apache/logging/log4j/core/appender/db/jdbc/PoolableConnectionFactoryConfig.java</a>
                </td>
                <td>
                  0
                </td>
                <td>
                  0
                </td>
                <td>
                  37
                </td>
              </tr>
                      </tbody>
        </table>
        
      </description>
    </item>
  </channel>
</rss>

