<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->

  <title>Archiva UI Rest API: proxyConnector</title>

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

  <!-- Bootstrap core CSS -->
  <!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> -->

  <!--custom css for these pages-->
  <link rel="stylesheet" href="css/enunciate.css">

  <link href="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.css" type="text/css">

  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  <!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->
</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">Archiva UI Rest API: proxyConnector</a></div>
        <div id="primary" class="column span-18 append-1 prepend-1 first last">
          <ul class="navigation">
            <li id="nav-rest"><a href="resources.html">REST</a></li>
            <li id="nav-data"><a href="data.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="syntax_xml.html">XML</a> &gt;

            </li>
<li class="current">
 <a href="xml_ns0_proxyConnector.html">proxyConnector</a>

            </li>
          </ul>
        </div>
      </div>
  <!--<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container-fluid">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.html">Archiva UI Rest API: proxyConnector</a>
      </div>
      <div id="navbar" class="navbar-collapse collapse">
        <ul class="nav navbar-nav navbar-right">
          <li><a href="resources.html">Resources</a></li>
          <li><a href="data.html">Data Types</a></li>
          <li><a href="downloads.html">Files and Libraries</a></li>
        </ul>
      </div>
    </div>
  </nav>-->
 </header>
  <div id="main" class="column first last span-20">
  
      <h1 class="page-header">proxyConnector <small>Data Type</small></h1>

      <p></p>

      <dl class="dl-horizontal">
        <dt>Namespace</dt>
        <dd>(Default)</dd>
        <dt>Schema</dt>
        <dd><a href="ns0.xsd">ns0.xsd</a></dd>
        <dt>Available Since</dt>
        <dd>1.4-M1</dd>
      </dl>

      <table class="table">
        <caption>Properties</caption>
        <thead>
        <tr>
          <th>name</th>
          <th>data type</th>
          <th>type</th>
          <th>namespace</th>
          <th>min/max occurs</th>
          <th>constraints</th>
          <th>description</th>
        </tr>
        </thead>
        <tbody>
        <tr>
          <td>  order
</td>
          <td>  int

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  1/1

</td>
          <td>  required

</td>
          <td>  Get the order of the proxy connectors. (0 means no order specified)
</td>
        </tr>
        </tbody>
        <tr>
          <td colspan="7"><h5 class="text-muted">Properties inherited from <a href="xml_ns0_abstractRepositoryConnector.html">abstractRepositoryConnector</a></h5></td>
        </tr>
        <tbody>
        <tr>
          <td>blackListPatterns</td>
          <td>list of string
</td>
          <td>element
</td>
          <td>
</td>
          <td>0/unbounded
</td>
          <td>&nbsp;
</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>disabled</td>
          <td>boolean
</td>
          <td>element
</td>
          <td>
</td>
          <td>1/1
</td>
          <td>required
</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>policies</td>
          <td>(custom)
</td>
          <td>element
</td>
          <td>
</td>
          <td>0/1
</td>
          <td>&nbsp;
</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>policiesEntries</td>
          <td>list of <a href="xml_ns0_propertyEntry.html">propertyEntry</a>
</td>
          <td>element
</td>
          <td>
</td>
          <td>0/unbounded
</td>
          <td>&nbsp;
</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>properties</td>
          <td>(custom)
</td>
          <td>element
</td>
          <td>
</td>
          <td>0/1
</td>
          <td>&nbsp;
</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>propertiesEntries</td>
          <td>list of <a href="xml_ns0_propertyEntry.html">propertyEntry</a>
</td>
          <td>element
</td>
          <td>
</td>
          <td>0/unbounded
</td>
          <td>&nbsp;
</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>proxyId</td>
          <td>string
</td>
          <td>element
</td>
          <td>
</td>
          <td>0/1
</td>
          <td>&nbsp;
</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>sourceRepoId</td>
          <td>string
</td>
          <td>element
</td>
          <td>
</td>
          <td>0/1
</td>
          <td>&nbsp;
</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>targetRepoId</td>
          <td>string
</td>
          <td>element
</td>
          <td>
</td>
          <td>0/1
</td>
          <td>&nbsp;
</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>whiteListPatterns</td>
          <td>list of string
</td>
          <td>element
</td>
          <td>
</td>
          <td>0/unbounded
</td>
          <td>&nbsp;
</td>
          <td>&nbsp;</td>
        </tr>
        </tbody>
      </table>

      <h2>Example</h2>

      <pre class="prettyprint lang-xml">&lt;proxyConnector&gt;
  &lt;order&gt;...&lt;/order&gt;
  &lt;whiteListPatterns&gt;...&lt;/whiteListPatterns&gt;
  &lt;sourceRepoId&gt;...&lt;/sourceRepoId&gt;
  &lt;policies&gt;...&lt;/policies&gt;
  &lt;policiesEntries&gt;
    &lt;key&gt;...&lt;/key&gt;
    &lt;value&gt;...&lt;/value&gt;
  &lt;/policiesEntries&gt;
  &lt;properties&gt;...&lt;/properties&gt;
  &lt;targetRepoId&gt;...&lt;/targetRepoId&gt;
  &lt;proxyId&gt;...&lt;/proxyId&gt;
  &lt;blackListPatterns&gt;...&lt;/blackListPatterns&gt;
  &lt;propertiesEntries&gt;
    &lt;key&gt;...&lt;/key&gt;
    &lt;value&gt;...&lt;/value&gt;
  &lt;/propertiesEntries&gt;
  &lt;disabled&gt;...&lt;/disabled&gt;
&lt;/proxyConnector&gt;
</pre>
        
        <footer>
          <div class="footer">
            Generated by <a href="http://enunciate.webcohesion.com">Enunciate</a>.
          </div>
        </footer>

      </div>
    
  </div>


  <!-- JavaScript placed at the end of the document so the pages load faster. -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

  
  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/run_prettify.js" type="text/javascript"></script>
  

</body>
</html>