
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en">
    <!-- generated by Apache Maven JXR (jdk8) -->
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
        <title>Archiva Base :: Configuration 3.0.0-SNAPSHOT Reference Package org.apache.archiva.configuration.functors</title>
        <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
    </head>

    <body>
                <div class="topNav">
            <a name="navbar_top"><!--   --></a>
            <a href="#skip-navbar_top" title="Skip navigation links"></a>
            <a name="navbar_top_firstrow"><!--   --></a>
            <ul class="navList" title="Navigation">
                <li><a href="../../../../../overview-summary.html">Overview</a></li>
                <li class="navBarCell1Rev">Package</li>
                <li>Class</li>
                <li>Use</li>
                <li>Tree</li>
                <li>Deprecated</li>
                <li>Index</li>
                <li>Help</li>
            </ul>
            <div class="aboutLanguage"><em><strong>Archiva Base :: Configuration 3.0.0-SNAPSHOT Reference</strong></em></div>
        </div>
        <div class="subNav">
            <ul class="navList">
                <li>Prev</li>
                <li>Next</li>
            </ul>
            <ul class="navList">
                <li><a href="../../../../../index.html?overview-summary.html" target="_top">Frames</a></li>
                <li><a href="package-summary.html" target="_top">No Frames</a></li>
            </ul>
            <ul class="navList" id="allclasses_navbar_top">
                <li>All Classes</li>
            </ul>
            <div>
            </div>
            <a name="skip-navbar_top"><!--   --></a>
        </div>
        
                <div class="header">
            <h1 title="Package" class="title">Package org.apache.archiva.configuration.functors</h1>
        </div>
        <div class="contentContainer">
            <ul class="blockList">
                <li class="blockList">
                    <table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
                        <caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
                        <thead>
                            <tr>
                                <th class="colFirst colLast" scope="col">Class</th>
                            </tr>
                        </thead>
                        <tbody>
                                            		                                                                                                <tr class="altColor">
                                <td class="colFirst colLast">
                                    <a href="ProxyConnectorConfigurationOrderComparatorTest.html#ProxyConnectorConfigurationOrderComparatorTest" target="classFrame" title="class in org.apache.archiva.configuration.functors">ProxyConnectorConfigurationOrderComparatorTest</a>
                                </td>
                            </tr>
                                                                                                                        <tr class="rowColor">
                                <td class="colFirst colLast">
                                    <a href="RepositoryConfigurationComparatorTest.html#RepositoryConfigurationComparatorTest" target="classFrame" title="class in org.apache.archiva.configuration.functors">RepositoryConfigurationComparatorTest</a>
                                </td>
                            </tr>
                                                    </tbody>
                    </table>
                </li>
            </ul>
        </div>
        
                <div class="bottomNav">
            <a name="navbar_bottom"><!--   --></a>
            <a href="#skip-navbar_bottom" title="Skip navigation links"></a>
            <a name="navbar_bottom_firstrow"><!--   --></a>
            <ul class="navList" title="Navigation">
                <li><a href="../../../../../overview-summary.html">Overview</a></li>
                <li class="navBarCell1Rev">Package</li>
                <li>Class</li>
                <li>Use</li>
                <li>Tree</li>
                <li>Deprecated</li>
                <li>Index</li>
                <li>Help</li>
            </ul>
            <div class="aboutLanguage"><em><strong>Archiva Base :: Configuration 3.0.0-SNAPSHOT Reference</strong></em></div>
        </div>
        <div class="subNav">
            <ul class="navList">
                <li>Prev</li>
                <li>Next</li>
            </ul>
            <ul class="navList">
                <li><a href="../../../../../index.html?overview-summary.html" target="_top">Frames</a></li>
                <li><a href="package-summary.html" target="_top">No Frames</a></li>
            </ul>
            <ul class="navList" id="allclasses_navbar_bottom">
                <li>All Classes</li>
            </ul>
            <div>
            </div>
            <a name="skip-navbar_bottom"><!--   --></a>
        </div>
        
        <div id="footer">
            Copyright &#169; 2006&#x2013;2019 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.
        </div>
    </body>
</html>