<!doctype html>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7 ]> <html class="no-js ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]>    <html class="no-js ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]>    <html class="no-js ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
  <meta charset="utf-8">

  <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
       Remove this if you use the .htaccess -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

  <title>adminRepositoryConsumer</title>

  <!-- Mobile viewport optimized: j.mp/bplateviewport -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- CSS: implied media="all" -->
  <link rel="stylesheet" href="css/style.css?v=2">
  <link rel="stylesheet" href="css/prettify.css">

  <!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects -->
  <script src="js/libs/modernizr-1.7.min.js"></script>

</head>

<body class="home">

  <div class="container">
    <header>
      <div id="header" class="column first last span-20">
        <div id="site-name" class="column span-18 append-1 prepend-1 first last"><a href="index.html">adminRepositoryConsumer</a></div>
        <div id="primary" class="column span-18 append-1 prepend-1 first last">
          <ul class="navigation">
            <li id="nav-rest"><a href="rest.html">REST</a></li>
            <li id="nav-data"><a href="model.html">Data Model</a></li>
          </ul>
        </div>
        <div>
          <ul class="xbreadcrumbs" id="breadcrumbs">
            <li>
              <a href="index.html" class="home">Home</a> &gt;
            </li>
            <li>
              <a href="model.html">Data Model</a> &gt;
              <ul>
                <li><a href="model.html">Data Model</a></li>
                <li><a href="rest.html">REST</a></li>
              </ul>
            </li>
            <li>
              <a href="ns0.html">ns0</a> &gt;
              <ul>
                <li><a href="ns0.html">ns0</a></li>
              </ul>
            </li>
            <li class="current">
              <a href="ns0_adminRepositoryConsumer.html">adminRepositoryConsumer</a>
              <ul>
                <li><a href="ns0_abstractImplementationInformation.html">abstractImplementationInformation</a></li>
                <li><a href="ns0_abstractRepository.html">abstractRepository</a></li>
                <li><a href="ns0_abstractRepositoryConnector.html">abstractRepositoryConnector</a></li>
                <li><a href="ns0_adminRepositoryConsumer.html">adminRepositoryConsumer</a></li>
                <li><a href="ns0_archivaRepositoryStatistics.html">archivaRepositoryStatistics</a></li>
                <li><a href="ns0_archivaRuntimeConfiguration.html">archivaRuntimeConfiguration</a></li>
                <li><a href="ns0_artifact.html">artifact</a></li>
                <li><a href="ns0_artifactContent.html">artifactContent</a></li>
                <li><a href="ns0_artifactContentEntry.html">artifactContentEntry</a></li>
                <li><a href="ns0_artifactTransferRequest.html">artifactTransferRequest</a></li>
                <li><a href="ns0_browseResult.html">browseResult</a></li>
                <li><a href="ns0_browseResultEntry.html">browseResultEntry</a></li>
                <li><a href="ns0_cacheConfiguration.html">cacheConfiguration</a></li>
                <li><a href="ns0_cacheEntry.html">cacheEntry</a></li>
                <li><a href="ns0_ciManagement.html">ciManagement</a></li>
                <li><a href="ns0_consumerScanningStatistics.html">consumerScanningStatistics</a></li>
                <li><a href="ns0_dependency.html">dependency</a></li>
                <li><a href="ns0_facetedMetadata.html">facetedMetadata</a></li>
                <li><a href="ns0_fileLockConfiguration.html">fileLockConfiguration</a></li>
                <li><a href="ns0_fileType.html">fileType</a></li>
                <li><a href="ns0_groupIdList.html">groupIdList</a></li>
                <li><a href="ns0_issueManagement.html">issueManagement</a></li>
                <li><a href="ns0_ldapConfiguration.html">ldapConfiguration</a></li>
                <li><a href="ns0_ldapGroupMapping.html">ldapGroupMapping</a></li>
                <li><a href="ns0_legacyArtifactPath.html">legacyArtifactPath</a></li>
                <li><a href="ns0_license.html">license</a></li>
                <li><a href="ns0_mailingList.html">mailingList</a></li>
                <li><a href="ns0_managedRepository.html">managedRepository</a></li>
                <li><a href="ns0_metadataAddRequest.html">metadataAddRequest</a></li>
                <li><a href="ns0_networkConfiguration.html">networkConfiguration</a></li>
                <li><a href="ns0_networkProxy.html">networkProxy</a></li>
                <li><a href="ns0_organisationInformation.html">organisationInformation</a></li>
                <li><a href="ns0_organization.html">organization</a></li>
                <li><a href="ns0_policyInformation.html">policyInformation</a></li>
                <li><a href="ns0_projectVersionMetadata.html">projectVersionMetadata</a></li>
                <li><a href="ns0_propertyEntry.html">propertyEntry</a></li>
                <li><a href="ns0_proxyConnector.html">proxyConnector</a></li>
                <li><a href="ns0_proxyConnectorRule.html">proxyConnectorRule</a></li>
                <li><a href="ns0_proxyConnectorRuleType.html">proxyConnectorRuleType</a></li>
                <li><a href="ns0_queueEntry.html">queueEntry</a></li>
                <li><a href="ns0_RBACManagerImplementationInformation.html">RBACManagerImplementationInformation</a></li>
                <li><a href="ns0_redbackImplementationsInformations.html">redbackImplementationsInformations</a></li>
                <li><a href="ns0_redbackRuntimeConfiguration.html">redbackRuntimeConfiguration</a></li>
                <li><a href="ns0_remoteRepository.html">remoteRepository</a></li>
                <li><a href="ns0_repositoryGroup.html">repositoryGroup</a></li>
                <li><a href="ns0_repositoryScannerStatistics.html">repositoryScannerStatistics</a></li>
                <li><a href="ns0_repositoryScanStatistics.html">repositoryScanStatistics</a></li>
                <li><a href="ns0_scm.html">scm</a></li>
                <li><a href="ns0_searchRequest.html">searchRequest</a></li>
                <li><a href="ns0_stringList.html">stringList</a></li>
                <li><a href="ns0_uiConfiguration.html">uiConfiguration</a></li>
                <li><a href="ns0_userManagerImplementationInformation.html">userManagerImplementationInformation</a></li>
                <li><a href="ns0_versionsList.html">versionsList</a></li>
              </ul>
            </li>
          </ul>
        </div>
      </div>
    </header>
    <div id="main" class="column first last span-20">
      <h1>adminRepositoryConsumer</h1>
      <table>
        <tr>
          <td align="right">Namespace:</td>
          <td>(default namespace)</td>
        </tr>
        <tr>
          <td align="right">XML Schema:</td>
          <td><a href="ns0.xsd">ns0.xsd</a></td>
        </tr>
      </table>
      <p>
            AdminRepositoryConsumer
          </p>

      <h2>XML</h2>
      <h3>Elements</h3>
      <table>
        <tr>
          <th>name (type)</th>
          <th>min/max<br/>occurs</th>
          <th>description</th>
        </tr>
        <tr>
          <td>
            description (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            id (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            enabled (boolean)
          </td>
          <td>1/1</td>
          <td>
          </td>
        </tr>
      </table>


      <div class="clear" />
    </div>
    <footer>
      <div id="footer">
        Generated by <a href="http://enunciate.codehaus.org">Enunciate</a>.
      </div>
    </footer>
  </div> <!--! end of #container -->

  <!-- JavaScript at the bottom for fast page loading -->

  <!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary -->
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>
  <script>window.jQuery || document.write("<script src='js/libs/jquery-1.5.1.min.js'>\x3C/script>")</script>

  <!--manage the navigation menu-->
  <script src="js/libs/xbreadcrumbs.js"></script>
  <script>
    $(function() {
      $('#breadcrumbs').xBreadcrumbs();
    });
  </script>


  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="js/libs/prettify/prettify.js"></script>
  <script>
    $(function() {
      prettyPrint();
    });
  </script>

  <!--[if lt IE 7 ]>
    <script src="js/libs/dd_belatedpng.js"></script>
    <script>DD_belatedPNG.fix("img, .png_bg"); // Fix any <img> or .png_bg bg-images. Also, please read goo.gl/mZiyb </script>
  <![endif]-->

</body>
</html>