<!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 :: Web Common: ManagedRepository</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 :: Web Common: ManagedRepository</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_json.html">JSON</a> &gt;

            </li>
<li class="current">
 <a href="json_managedrepository.html">ManagedRepository</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 :: Web Common: ManagedRepository</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">ManagedRepository <small>Data Type</small></h1>

      <p></p>

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

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  cronExpression
</td>
          <td>  string

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  daysOlder
</td>
          <td>  number

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  deleteReleasedSnapshots
</td>
          <td>  boolean

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  location
</td>
          <td>  string

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  releases
</td>
          <td>  boolean

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  resetStats
</td>
          <td>  boolean

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  retentionCount
</td>
          <td>  number

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  scanned
</td>
          <td>  boolean

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  skipPackedIndexCreation
</td>
          <td>  boolean

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  snapshots
</td>
          <td>  boolean

</td>
          <td>  Get null
</td>
        </tr>
        <tr>
          <td>  stageRepoNeeded
</td>
          <td>  boolean

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  stagingRepository
</td>
          <td>  <a href="json_managedrepository.html">ManagedRepository</a>

</td>
          <td>  
</td>
        </tr>
        </tbody>
        <tr>
          <td colspan="3"><h5 class="text-muted">Properties inherited from <a href="json_abstractrepository.html">AbstractRepository</a></h5></td>
        </tr>
        <tbody>
        <tr>
          <td>description</td>
          <td>string
</td>
          <td></td>
        </tr>
        <tr>
          <td>id</td>
          <td>string
</td>
          <td></td>
        </tr>
        <tr>
          <td>indexDirectory</td>
          <td>string
</td>
          <td></td>
        </tr>
        <tr>
          <td>layout</td>
          <td>string
</td>
          <td></td>
        </tr>
        <tr>
          <td>name</td>
          <td>string
</td>
          <td></td>
        </tr>
        </tbody>
      </table>

      <h2>Example</h2>

      <pre class="prettyprint lang-js">{
  &quot;cronExpression&quot; : &quot;...&quot;,
  &quot;location&quot; : &quot;...&quot;,
  &quot;releases&quot; : true,
  &quot;snapshots&quot; : true,
  &quot;blockRedeployments&quot; : true,
  &quot;stagingRepository&quot; : {
    &quot;cronExpression&quot; : &quot;...&quot;,
    &quot;location&quot; : &quot;...&quot;,
    &quot;releases&quot; : true,
    &quot;snapshots&quot; : true,
    &quot;blockRedeployments&quot; : true,
    &quot;stagingRepository&quot; : { },
    &quot;scanned&quot; : true,
    &quot;daysOlder&quot; : 12345.0,
    &quot;retentionCount&quot; : 12345.0,
    &quot;deleteReleasedSnapshots&quot; : true,
    &quot;stageRepoNeeded&quot; : true,
    &quot;resetStats&quot; : true,
    &quot;skipPackedIndexCreation&quot; : true,
    &quot;id&quot; : &quot;...&quot;,
    &quot;name&quot; : &quot;...&quot;,
    &quot;layout&quot; : &quot;...&quot;,
    &quot;indexDirectory&quot; : &quot;...&quot;,
    &quot;description&quot; : &quot;...&quot;
  },
  &quot;scanned&quot; : true,
  &quot;daysOlder&quot; : 12345.0,
  &quot;retentionCount&quot; : 12345.0,
  &quot;deleteReleasedSnapshots&quot; : true,
  &quot;stageRepoNeeded&quot; : true,
  &quot;resetStats&quot; : true,
  &quot;skipPackedIndexCreation&quot; : true,
  &quot;id&quot; : &quot;...&quot;,
  &quot;name&quot; : &quot;...&quot;,
  &quot;layout&quot; : &quot;...&quot;,
  &quot;indexDirectory&quot; : &quot;...&quot;,
  &quot;description&quot; : &quot;...&quot;
}</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>