<!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 Web :: REST support :: Api: abstractRepositoryConnector</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/style.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 Web :: REST support :: Api: abstractRepositoryConnector</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_abstractRepositoryConnector.html">abstractRepositoryConnector</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 Web :: REST support :: Api: abstractRepositoryConnector</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">abstractRepositoryConnector <small>Data Type</small></h1>

      <p></p>

      <dl class="dl-horizontal">
        <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>description</th>
        </tr>
        </thead>
        <tbody>
        <tr>
          <td>  blackListPatterns
</td>
          <td>  string

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/unbounded

</td>
          <td>  Method getBlackListPatterns.
</td>
        </tr>
        <tr>
          <td>  disabled
</td>
          <td>  boolean

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  1/1

</td>
          <td>  Get if the the repository proxy connector is disabled or not
.
</td>
        </tr>
        <tr>
          <td>  policies
</td>
          <td>  (custom)

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  Method getPolicies.
</td>
        </tr>
        <tr>
          <td>  policiesEntries
</td>
          <td>  <a href="xml_ns0_propertyEntry.html">propertyEntry</a>

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/unbounded

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  properties
</td>
          <td>  (custom)

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  Method getProperties.
</td>
        </tr>
        <tr>
          <td>  propertiesEntries
</td>
          <td>  <a href="xml_ns0_propertyEntry.html">propertyEntry</a>

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/unbounded

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  proxyId
</td>
          <td>  string

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  Get the network proxy ID to use for this connector.
</td>
        </tr>
        <tr>
          <td>  sourceRepoId
</td>
          <td>  string

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  Get the Repository Source for this connector.
</td>
        </tr>
        <tr>
          <td>  targetRepoId
</td>
          <td>  string

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  Get the Repository Target for this connector.
</td>
        </tr>
        <tr>
          <td>  whiteListPatterns
</td>
          <td>  string

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/unbounded

</td>
          <td>  Method getWhiteListPatterns.
</td>
        </tr>
        </tbody>
      </table>

      <h2>Example</h2>

      <pre class="prettyprint lang-xml">&lt;a-----&gt;
  &lt;blackListPatterns&gt;...&lt;/blackListPatterns&gt;
  &lt;policies&gt;...&lt;/policies&gt;
  &lt;properties&gt;...&lt;/properties&gt;
  &lt;proxyId&gt;...&lt;/proxyId&gt;
  &lt;sourceRepoId&gt;...&lt;/sourceRepoId&gt;
  &lt;targetRepoId&gt;...&lt;/targetRepoId&gt;
  &lt;whiteListPatterns&gt;...&lt;/whiteListPatterns&gt;
  &lt;disabled&gt;...&lt;/disabled&gt;
  &lt;policiesEntries&gt;
    &lt;key&gt;...&lt;/key&gt;
    &lt;value&gt;...&lt;/value&gt;
  &lt;/policiesEntries&gt;
  &lt;propertiesEntries&gt;
    &lt;key&gt;...&lt;/key&gt;
    &lt;value&gt;...&lt;/value&gt;
  &lt;/propertiesEntries&gt;
&lt;/a-----&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>