blob: a0efe1d7652c136b6c9a5264a109f2973c732e8f [file] [log] [blame]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.8.1
| Rendered using Apache Maven Fluido Skin 1.6
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Language" content="en" />
<title>Archiva :: Modules &#x2013; Repository APIs</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
<link rel="stylesheet" href="./css/site.css" />
<link rel="stylesheet" href="./css/print.css" media="print" />
<script type="text/javascript" src="./js/apache-maven-fluido-1.6.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://archiva.apache.org/css/site.css" />
<!-- Google Analytics -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-140879-5']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="topBarEnabled">
<a href="https://github.com/apache/archiva">
<img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
src="https://s3.amazonaws.com/github/ribbons/forkme_right_gray_6d6d6d.png"
alt="Fork me on GitHub">
</a>
<div id="topbar" class="navbar navbar-fixed-top ">
<div class="navbar-inner">
<div class="container"><div class="nav-collapse">
<ul class="nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Developers <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="index.html" title="Overview">Overview</a></li>
<li><a href="terminology.html" title="Terminology">Terminology</a></li>
<li><a href="metadata-content-model.html" title="Metadata Control Model">Metadata Control Model</a></li>
<li><a href="metadata-api.html" title="Metadata API">Metadata API</a></li>
<li><a href="repository-api.html" title="Repository API">Repository API</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Modules <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="archiva-base/index.html" title="Archiva :: Base">Archiva :: Base</a></li>
<li><a href="archiva-scheduler/index.html" title="Archiva :: Scheduler">Archiva :: Scheduler</a></li>
<li><a href="archiva-web/index.html" title="Archiva :: Web">Archiva :: Web</a></li>
<li><a href="metadata/index.html" title="Archiva :: Metadata">Archiva :: Metadata</a></li>
<li><a href="plugins/index.html" title="Archiva :: Core Plugins">Archiva :: Core Plugins</a></li>
<li><a href="archiva-maven/index.html" title="Archiva :: Maven">Archiva :: Maven</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Documentation <b class="caret"></b></a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="project-info.html" title="Project Information">Project Information</a>
<ul class="dropdown-menu">
<li><a href="index.html" title="About">About</a></li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="project-reports.html" title="Project Reports">Project Reports</a>
<ul class="dropdown-menu">
<li><a href="xref/index.html" title="Source Xref">Source Xref</a></li>
<li><a href="checkstyle-aggregate.html" title="Checkstyle">Checkstyle</a></li>
<li><a href="apidocs/index.html" title="Javadoc">Javadoc</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<form id="search-form" action="https://www.google.com/search" method="get" class="navbar-search pull-right" >
<input value="https://archiva.apache.org/ref/3.0.0-SNAPSHOT" name="sitesearch" type="hidden"/>
<input class="search-query" name="q" id="query" type="text" />
</form>
<script type="text/javascript">asyncJs( 'https://cse.google.com/brand?form=search-form' )</script>
<ul class="nav pull-right"><li>
<a href="https://twitter.com/archiva" class="twitter-follow-button" data-show-count="false" data-align="right" data-size="large" data-show-screen-name="true" data-lang="en">Follow archiva</a>
<script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</li></ul>
</div>
</div>
</div>
</div>
<div class="container">
<div id="banner">
<div class="pull-left"><a href="http://archiva.apache.org/index.html" id="bannerLeft"><img src="http://archiva.apache.org/images/archiva.png" alt="Apache Archiva"/></a></div>
<div class="pull-right"><a href="http://www.apache.org/" id="bannerRight"><img src="https://www.apache.org/images/asf_logo_wide_2016.png" alt="Apache Software Foundation"/></a></div>
<div class="clear"><hr/></div>
</div>
<div id="breadcrumbs">
<ul class="breadcrumb">
<li class=""><a href="https://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li>
<li class=""><a href="../../index.html" title="Archiva">Archiva</a><span class="divider">/</span></li>
<li class=""><a href="index.html" title="Archiva Modules">Archiva Modules</a><span class="divider">/</span></li>
<li class="active ">Repository APIs</li>
<li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2019-11-30</li>
<li id="projectVersion" class="pull-right">Version: 3.0.0-SNAPSHOT</li>
</ul>
</div>
<div id="bodyColumn" >
<div class="section">
<h2><a name="Repository_APIs"></a>Repository APIs</h2>
<p>The repository APIs are the means for accessing metadata from any type of repository.</p>
<p><i>Note:</i> currently, only metadata retrieval is available. As more of the application moves to this base, artifact content may be read using a stream, for example.</p>
<div class="section">
<h3><a name="Metadata_Resolver"></a>Metadata Resolver</h3>
<p>A repository request works in the following sequence:</p>
<ol style="list-style-type: decimal">
<li>the user requests a project's metadata using a <a href="./apidocs/reference/org/apache/archiva/metadata/repository/MetadataResolver.html"> MetadataResolver</a></li>
<li>the resolvers are chained together to locate the source of the metadata, and to determine where the most up to date copy is. Included by default are the metadata repository and repository storage</li>
<li>the metadata is retrieved, and if not up to date in the metadata repository it is stored there</li>
<li>the metadata is returned to the requester</li></ol></div>
<div class="section">
<h3><a name="Storage_Resolver"></a>Storage Resolver</h3>
<p>Currently storage only supports obtaining information as well. In the future, the ability to modify the storage will be made available for plugins such as purging, etc.</p>
<p>More information can be found in the <a href="./apidocs/reference/org/apache/archiva/metadata/repository/storage/StorageMetadataResolver.html"> storage metadata resolver</a> class.</p></div></div>
</div>
</div>
<hr/>
<footer>
<div class="container">
<div class="row">
<p>Copyright &copy;2006&#x2013;2019
<a href="http://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
</div>
<p id="poweredBy" class="pull-right"> <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
</p>
<div id="ohloh" class="pull-right">
<script type="text/javascript" src="https://www.ohloh.net/p/6670/widgets/project_thin_badge.js"></script>
</div>
</div>
</footer>
</body>
</html>