<!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="20230320" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Archiva Core Plugins :: Generic Metadata Support &#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.10" 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 :: Core Plugins">
        Archiva :: Core Plugins</a>
                    <span class="divider">/</span>
      </li>
                <li class="">
                    <a href="./" title="Archiva Core Plugins :: Generic Metadata Support">
        Archiva Core Plugins :: Generic Metadata Support</a>
                    <span class="divider">/</span>
      </li>
        <li class="active ">Checkstyle Results</li>
        
                
                    
                  <li id="publishDate" class="pull-right">Last Published: 20 Mar 2023</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>2</td>
<td>1</td>
<td>2</td>
<td>3</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.metadata.generic.GenericMetadataFacet.java">org/apache/archiva/metadata/generic/GenericMetadataFacet.java</a></td>
<td>1</td>
<td>2</td>
<td>1</td></tr>
<tr class="a">
<td><a href="#org.apache.archiva.metadata.generic.GenericMetadataFacetFactory.java">org/apache/archiva/metadata/generic/GenericMetadataFacetFactory.java</a></td>
<td>0</td>
<td>0</td>
<td>2</td></tr></table></div>
<div class="section">
<h2><a name="Rules"></a>Rules</h2>
<table border="0" class="table table-striped">
<tr class="b">
<th>Category</th>
<th>Rule</th>
<th>Violations</th>
<th>Severity</th></tr>
<tr class="a">
<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>
<tr class="b">
<td></td>
<td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#JavadocType">JavadocType</a>
<ul>
<li>allowUnknownTags: <tt>&quot;true&quot;</tt></li>
<li>scope: <tt>&quot;protected&quot;</tt></li></ul></td>
<td>1</td>
<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
<tr class="a">
<td></td>
<td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#JavadocVariable">JavadocVariable</a>
<ul>
<li>scope: <tt>&quot;protected&quot;</tt></li></ul></td>
<td>1</td>
<td><img src="images/icon_info_sml.gif" alt="" />&#160;Info</td></tr>
<tr class="b">
<td>whitespace</td>
<td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_whitespace.html#ParenPad">ParenPad</a>
<ul>
<li>option: <tt>&quot;space&quot;</tt></li></ul></td>
<td>2</td>
<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr></table></div>
<div class="section">
<h2><a name="Details"></a>Details</h2>
<div class="section">
<h3 id="org.apache.archiva.metadata.generic.GenericMetadataFacet.java">org/apache/archiva/metadata/generic/GenericMetadataFacet.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_error_sml.gif" alt="" />&#160;Error</td>
<td>javadoc</td>
<td>JavadocType</td>
<td>Missing a Javadoc comment.</td>
<td><a href="./xref/org/apache/archiva/metadata/generic/GenericMetadataFacet.html#L27">27</a></td></tr>
<tr class="a">
<td><img src="images/icon_info_sml.gif" alt="" />&#160;Info</td>
<td>javadoc</td>
<td>JavadocVariable</td>
<td>Missing a Javadoc comment.</td>
<td><a href="./xref/org/apache/archiva/metadata/generic/GenericMetadataFacet.html#L32">32</a></td></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/metadata/generic/GenericMetadataFacet.html#L73">73</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/metadata/generic/GenericMetadataFacet.html#L78">78</a></td></tr></table></div>
<div class="section">
<h3 id="org.apache.archiva.metadata.generic.GenericMetadataFacetFactory.java">org/apache/archiva/metadata/generic/GenericMetadataFacetFactory.java</h3>
<table border="0" class="table table-striped">
<tr class="b">
<th>Severity</th>
<th>Category</th>
<th>Rule</th>
<th>Message</th>
<th>Line</th></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
<td>whitespace</td>
<td>ParenPad</td>
<td>'(' is not followed by whitespace.</td>
<td><a href="./xref/org/apache/archiva/metadata/generic/GenericMetadataFacetFactory.html#L28">28</a></td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
<td>whitespace</td>
<td>ParenPad</td>
<td>')' is not preceded with whitespace.</td>
<td><a href="./xref/org/apache/archiva/metadata/generic/GenericMetadataFacetFactory.html#L28">28</a></td></tr></table></div></div>
                  </div>
          </div>

    <hr/>

    <footer>
            <div class="container">
                      <div class="row">
                              <p >Copyright &copy;                    2006&#x2013;2023
                        <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>
