<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia 
 | Rendered using Apache Maven Fluido Skin 1.3.1
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20211219" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Archiva Base :: Mocks &#x2013; Checkstyle Results</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.1.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />

      
    <script type="text/javascript" src="./js/apache-maven-fluido-1.3.1.min.js"></script>

    
              <!-- Google Analytics -->
    <script type="text/javascript">

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-140879-5']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

    </script>
          </head>
        <body class="topBarEnabled">
          
                        
                    
                

    <div id="topbar" class="navbar navbar-fixed-top ">
      <div class="navbar-inner">
                                  <div class="container"><div class="nav-collapse">
            
                
                                <ul class="nav">
                          <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Documentation <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li class="dropdown-submenu">
                                      <a href="project-info.html"  title="Project Information">Project Information</a>
              <ul class="dropdown-menu">
                                  <li>      <a href="integration.html"  title="Continuous Integration">Continuous Integration</a>
</li>
                                  <li>      <a href="dependencies.html"  title="Dependencies">Dependencies</a>
</li>
                                  <li>      <a href="dependency-info.html"  title="Dependency Information">Dependency Information</a>
</li>
                                  <li>      <a href="dependency-management.html"  title="Dependency Management">Dependency Management</a>
</li>
                                  <li>      <a href="distribution-management.html"  title="Distribution Management">Distribution Management</a>
</li>
                                  <li>      <a href="index.html"  title="About">About</a>
</li>
                                  <li>      <a href="issue-tracking.html"  title="Issue Tracking">Issue Tracking</a>
</li>
                                  <li>      <a href="license.html"  title="Project License">Project License</a>
</li>
                                  <li>      <a href="mail-lists.html"  title="Mailing Lists">Mailing Lists</a>
</li>
                                  <li>      <a href="plugin-management.html"  title="Plugin Management">Plugin Management</a>
</li>
                                  <li>      <a href="plugins.html"  title="Project Plugins">Project Plugins</a>
</li>
                                  <li>      <a href="team-list.html"  title="Project Team">Project Team</a>
</li>
                                  <li>      <a href="source-repository.html"  title="Source Repository">Source Repository</a>
</li>
                                  <li>      <a href="project-summary.html"  title="Project Summary">Project Summary</a>
</li>
                              </ul>
            </li>
                  
                      <li class="dropdown-submenu">
                                      <a href="project-reports.html"  title="Project Reports">Project Reports</a>
              <ul class="dropdown-menu">
                                  <li>      <a href="xref/index.html"  title="Source Xref">Source Xref</a>
</li>
                                  <li>      <a href="checkstyle.html"  title="Checkstyle">Checkstyle</a>
</li>
                              </ul>
            </li>
                          </ul>
      </li>
                  </ul>
          
                      <form id="search-form" action="http://www.google.com/search" method="get"  class="navbar-search pull-right" >
    
  <input value="http://archiva.apache.org/ref/2.2.7" name="sitesearch" type="hidden"/>
  <input class="search-query" name="q" id="query" type="text" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=search-form"></script>
          
                                                    
        
        
        <ul class="nav pull-right"><li>
    
    <a href="https://twitter.com/archiva" class="twitter-follow-button" data-show-count="false" data-align="right" data-size="large" data-show-screen-name="true" data-lang="en">Follow archiva</a>
    <script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

        </li></ul>
                              
                   
                      </div>
          
        </div>
      </div>
    </div>
    
        <div class="container">
          <div id="banner">
        <div class="pull-left">
                                                  <a href="../../../../index.html" id="bannerLeft">
                                                                                                <img src="../../../../images/archiva.png"  alt="Apache Archiva"/>
                </a>
                      </div>
        <div class="pull-right">                  <a href="http://www.apache.org/" id="bannerRight">
                                                                                        <img src="https://www.apache.org/images/asf_logo_wide_2016.png"  alt="Apache Software Foundation"/>
                </a>
      </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
                
                    
                              <li class="">
                    <a href="http://www.apache.org/" class="externalLink" title="Apache">
        Apache</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="../../" title="Apache Archiva">
        Apache Archiva</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="../../" title="Archiva :: Modules">
        Archiva :: Modules</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="../" title="Archiva :: Base">
        Archiva :: Base</a>
                    <span class="divider">/</span>
      </li>
                <li class="">
                    <a href="./" title="Archiva Base :: Mocks">
        Archiva Base :: Mocks</a>
                    <span class="divider">/</span>
      </li>
        <li class="active ">Checkstyle Results</li>
        
                
                    
                  <li id="publishDate" class="pull-right">Last Published: 19 Dec 2021</li>
            
                            </ul>
      </div>

      
                
        <div id="bodyColumn" >
                                  
            <div class="section">
<h2><a name="Checkstyle_Results"></a>Checkstyle Results</h2>
<p>The following document contains the results of <a class="externalLink" href="http://checkstyle.sourceforge.net/">Checkstyle</a> 5.7.&#160;<a href="checkstyle.rss"><img alt="rss feed" src="images/rss.png" /></a></p></div>
<div class="section">
<h2><a name="Summary"></a>Summary</h2>
<table border="0" class="table table-striped">
<tr class="a">
<th>Files</th>
<th><img src="images/icon_info_sml.gif" alt="" />&#160;Info</th>
<th><img src="images/icon_warning_sml.gif" alt="" />&#160;Warnings</th>
<th><img src="images/icon_error_sml.gif" alt="" />&#160;Errors</th></tr>
<tr class="b">
<td>3</td>
<td>0</td>
<td>2</td>
<td>0</td></tr></table></div>
<div class="section">
<h2><a name="Files"></a>Files</h2>
<table border="0" class="table table-striped">
<tr class="a">
<th>File</th>
<th><img src="images/icon_info_sml.gif" alt="" />&#160;I</th>
<th><img src="images/icon_warning_sml.gif" alt="" />&#160;W</th>
<th><img src="images/icon_error_sml.gif" alt="" />&#160;E</th></tr>
<tr class="b">
<td><a href="#org.apache.archiva.mock.MockRepositorySessionFactory.java">org/apache/archiva/mock/MockRepositorySessionFactory.java</a></td>
<td>0</td>
<td>2</td>
<td>0</td></tr></table></div>
<div class="section">
<h2><a name="Rules"></a>Rules</h2>
<table border="0" class="table table-striped">
<tr class="a">
<th>Category</th>
<th>Rule</th>
<th>Violations</th>
<th>Severity</th></tr>
<tr class="b">
<td>javadoc</td>
<td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#JavadocMethod">JavadocMethod</a>
<ul>
<li>scope: <tt>&quot;protected&quot;</tt></li></ul></td>
<td>2</td>
<td><img src="images/icon_warning_sml.gif" alt="" />&#160;Warning</td></tr></table></div>
<div class="section">
<h2><a name="Details"></a>Details</h2>
<div class="section">
<h3 id="org.apache.archiva.mock.MockRepositorySessionFactory.java">org/apache/archiva/mock/MockRepositorySessionFactory.java</h3>
<table border="0" class="table table-striped">
<tr class="a">
<th>Severity</th>
<th>Category</th>
<th>Rule</th>
<th>Message</th>
<th>Line</th></tr>
<tr class="b">
<td><img src="images/icon_warning_sml.gif" alt="" />&#160;Warning</td>
<td>javadoc</td>
<td>JavadocMethod</td>
<td>Missing a Javadoc comment.</td>
<td><a href="./xref/org/apache/archiva/mock/MockRepositorySessionFactory.html#L42">42</a></td></tr>
<tr class="a">
<td><img src="images/icon_warning_sml.gif" alt="" />&#160;Warning</td>
<td>javadoc</td>
<td>JavadocMethod</td>
<td>Missing a Javadoc comment.</td>
<td><a href="./xref/org/apache/archiva/mock/MockRepositorySessionFactory.html#L47">47</a></td></tr></table></div></div>
                  </div>
          </div>

    <hr/>

    <footer>
            <div class="container">
                      <div class="row">
                              <p >Copyright &copy;                    2006&#x2013;2021
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All rights reserved.      
                    
      </p>
        </div>

        
                <p id="poweredBy" class="pull-right">
                          <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
              </p>
        
          
    
    
                
    <div id="ohloh" class="pull-right">
      <script type="text/javascript" src="http://www.ohloh.net/p/6670/widgets/project_basic_stats.js"></script>
    </div>
        </div>
    </footer>
        </body>
</html>
