<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.9.2 from org.codehaus.mojo:jdepend-maven-plugin:2.0:generate-no-fork at 14 September 2021
 | Rendered using Apache Maven Fluido Skin 1.9
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="generator" content="Apache Maven Doxia Site Renderer 1.9.2" />
    <title>Fulcrum Localization &#x2013; JDepend Report Metrics</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.9.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
    <script src="./js/apache-maven-fluido-1.9.min.js"></script>
  </head>
  <body class="topBarDisabled">
    <div class="container-fluid">
      <header>
        <div id="banner">
          <div class="pull-left"><a href="https://turbine.apache.org/" id="bannerLeft" title="Apache Turbine"><img src="https://turbine.apache.org/images/turbine-project.png"  alt="Apache Turbine"/></a></div>
          <div class="pull-right"></div>
          <div class="clear"><hr/></div>
        </div>

        <div id="breadcrumbs">
          <ul class="breadcrumb">
        <li id="publishDate">Last Published: 14 September 2021<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.0.8-SNAPSHOT</li>
      <li class="pull-right"><span class="divider">|</span>
<a href="https://turbine.apache.org/fulcrum/" class="externalLink" title="Fulcrum">Fulcrum</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="https://turbine.apache.org/" class="externalLink" title="Turbine">Turbine</a></li>
      <li class="pull-right"><a href="https://www.apache.org" class="externalLink" title="Apache">Apache</a></li>
          </ul>
        </div>
      </header>
      <div class="row-fluid">
        <header id="leftColumn" class="span2">
          <nav class="well sidebar-nav">
  <ul class="nav nav-list">
   <li class="nav-header">Overview</li>
    <li><a href="index.html" title="Main"><span class="none"></span>Main</a></li>
   <li class="nav-header">Project Documentation</li>
    <li><a href="project-info.html" title="Project Information"><span class="icon-chevron-right"></span>Project Information</a></li>
    <li><a href="project-reports.html" title="Project Reports"><span class="icon-chevron-down"></span>Project Reports</a>
     <ul class="nav nav-list">
      <li><a href="changes-report.html" title="Changes"><span class="none"></span>Changes</a></li>
      <li><a href="apidocs/index.html" title="Javadoc"><span class="none"></span>Javadoc</a></li>
      <li><a href="testapidocs/index.html" title="Test Javadoc"><span class="none"></span>Test Javadoc</a></li>
      <li><a href="xref/index.html" title="Source Xref"><span class="none"></span>Source Xref</a></li>
      <li><a href="xref-test/index.html" title="Test Source Xref"><span class="none"></span>Test Source Xref</a></li>
      <li><a href="cpd.html" title="CPD"><span class="none"></span>CPD</a></li>
      <li><a href="pmd.html" title="PMD"><span class="none"></span>PMD</a></li>
      <li><a href="surefire-report.html" title="Surefire Report"><span class="none"></span>Surefire Report</a></li>
      <li><a href="jacoco/index.html" title="JaCoCo"><span class="none"></span>JaCoCo</a></li>
      <li><a href="jacoco-aggregate/index.html" title="JaCoCo Aggregate"><span class="none"></span>JaCoCo Aggregate</a></li>
      <li class="active"><a href="#"><span class="none"></span>JDepend</a></li>
      <li><a href="rat-report.html" title="Rat Report"><span class="none"></span>Rat Report</a></li>
      <li><a href="taglist.html" title="Tag List"><span class="none"></span>Tag List</a></li>
      <li><a href="findbugs.html" title="FindBugs"><span class="none"></span>FindBugs</a></li>
     </ul></li>
   <li class="nav-header">Apache</li>
    <li><a href="https://www.apache.org/" class="externalLink" title="Apache Website"><span class="none"></span>Apache Website</a></li>
    <li><a href="https://www.apache.org/licenses/" class="externalLink" title="License"><span class="none"></span>License</a></li>
    <li><a href="https://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How the ASF works"><span class="none"></span>How the ASF works</a></li>
    <li><a href="https://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"><span class="none"></span>Sponsorship</a></li>
    <li><a href="https://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a></li>
    <li><a href="https://www.apache.org/security/" class="externalLink" title="Security"><span class="none"></span>Security</a></li>
  </ul>
          </nav>
          <div class="well sidebar-nav">
            <hr />
            <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
<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>
            </div>
          </div>
        </header>
        <main id="bodyColumn"  class="span10" >
<section>
<h2><a name="Metric_Results"></a>Metric Results</h2>[ <a href="#summary">summary</a> ] [ <a href="#packages">packages</a> ] [ <a href="#cycles">cycles</a> ] [ <a href="#explanations">explanations</a> ] <br /><br />The following document contains the results of a JDepend metric analysis. The various metrics are defined at the bottom of this document.<br /><br /><a name="summary"></a>
<h2><a name="Summary"></a>Summary</h2>[ <a href="#summary">summary</a> ] [ <a href="#packages">packages</a> ] [ <a href="#cycles">cycles</a> ] [ <a href="#explanations">explanations</a> ] <br /><br />
<table border="0" class="table table-striped">
<tr class="a">
<th>Package</th>
<th>TC</th>
<th>CC</th>
<th>AC</th>
<th>Ca</th>
<th>Ce</th>
<th>A</th>
<th>I</th>
<th>D</th>
<th>V</th></tr>
<tr class="b">
<td><a href="#org.apache.fulcrum.localization">org.apache.fulcrum.localization</a></td>
<td>6</td>
<td>4</td>
<td>2</td>
<td>0</td>
<td>8</td>
<td>33.0%</td>
<td>100.0%</td>
<td>33.0%</td>
<td>1</td></tr></table><a name="packages"></a>
<h2><a name="Packages"></a>Packages</h2>[ <a href="#summary">summary</a> ] [ <a href="#packages">packages</a> ] [ <a href="#cycles">cycles</a> ] [ <a href="#explanations">explanations</a> ] <br /><a name="org.apache.fulcrum.localization"></a>
<h3><a name="org.apache.fulcrum.localization"></a>org.apache.fulcrum.localization</h3>
<table border="0" class="table table-striped">
<tr class="a">
<th>Afferent Couplings</th>
<th>Efferent Couplings</th>
<th>Abstractness</th>
<th>Instability</th>
<th>Distance</th></tr>
<tr class="b">
<td>0</td>
<td>8</td>
<td>33.0%</td>
<td>100.0%</td>
<td>33.0%</td></tr></table>
<table border="0" class="table table-striped">
<tr class="a">
<th>Abstract Classes</th>
<th>Concrete Classes</th>
<th>Used by Packages</th>
<th>Uses Packages</th></tr>
<tr class="b">
<td>org.apache.fulcrum.localization.LocalizationService<br />org.apache.fulcrum.localization.SimpleLocalizationService<br /></td>
<td>org.apache.fulcrum.localization.DefaultLocalizationService<br />org.apache.fulcrum.localization.LocaleTokenizer<br />org.apache.fulcrum.localization.LocaleTokenizer$AcceptLanguage<br />org.apache.fulcrum.localization.SimpleLocalizationServiceImpl<br /></td>
<td><i>None</i></td>
<td>java.lang<br />java.text<br />java.util<br />javax.servlet.http<br />org.apache.avalon.framework.activity<br />org.apache.avalon.framework.configuration<br />org.apache.avalon.framework.logger<br />org.apache.commons.lang3<br /></td></tr></table><a name="cycles"></a>
<h2><a name="Cycles"></a>Cycles</h2>[ <a href="#summary">summary</a> ] [ <a href="#packages">packages</a> ] [ <a href="#cycles">cycles</a> ] [ <a href="#explanations">explanations</a> ] <br /><br />There are no cyclic dependencies.<br /><a name="explanations"></a>
<h2><a name="Explanation"></a>Explanation</h2>[ <a href="#summary">summary</a> ] [ <a href="#packages">packages</a> ] [ <a href="#cycles">cycles</a> ] [ <a href="#explanations">explanations</a> ] <br /><br />The following explanations are for quick reference and are lifted directly from the original JDepend documentation.<br /><br />
<table border="0" class="table table-striped">
<tr class="a">
<th>Term</th>
<th>Description</th></tr>
<tr class="b">
<td>Number of Classes</td>
<td>The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.</td></tr>
<tr class="a">
<td>Afferent Couplings</td>
<td>The number of other packages that depend upon classes within the package is an indicator of the package's responsibility.</td></tr>
<tr class="b">
<td>Efferent Couplings</td>
<td>The number of other packages that the classes in the package depend upon is an indicator of the package's independence.</td></tr>
<tr class="a">
<td>Abstractness</td>
<td>The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package.</td></tr>
<tr class="b">
<td>Instability</td>
<td>The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package.</td></tr>
<tr class="a">
<td>Distance</td>
<td>The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible.</td></tr>
<tr class="b">
<td>Cycles</td>
<td>Packages participating in a package dependency cycle are  in a deadly embrace with respect to reusability and their  release cycle. Package dependency cycles can be easily identified by reviewing the textual reports of dependency cycles. Once these dependency cycles have been identified with JDepend, they can be broken by employing various object-oriented techniques.</td></tr></table></section>
        </main>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>&#169;      2005&#x2013;2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>
</p>
        </div>
      </div>
    </footer>
  </body>
</html>
