blob: 504ef0cb99dd4cea59f6c68b83ddea0250b9ed8a [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="de">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RepositoryStorage (Archiva :: Modules 3.0.0-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="RepositoryStorage (Archiva :: Modules 3.0.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RepositoryStorage.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/archiva/repository/storage/FilesystemStorage.html" title="class in org.apache.archiva.repository.storage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/archiva/repository/storage/RepositoryStorage.html" target="_top">Frames</a></li>
<li><a href="RepositoryStorage.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.archiva.repository.storage</div>
<h2 title="Interface RepositoryStorage" class="title">Interface RepositoryStorage</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../../org/apache/archiva/repository/EditableManagedRepository.html" title="interface in org.apache.archiva.repository">EditableManagedRepository</a>, <a href="../../../../../org/apache/archiva/repository/EditableRemoteRepository.html" title="interface in org.apache.archiva.repository">EditableRemoteRepository</a>, <a href="../../../../../org/apache/archiva/repository/EditableRepository.html" title="interface in org.apache.archiva.repository">EditableRepository</a>, <a href="../../../../../org/apache/archiva/repository/EditableRepositoryGroup.html" title="interface in org.apache.archiva.repository">EditableRepositoryGroup</a>, <a href="../../../../../org/apache/archiva/repository/ManagedRepository.html" title="interface in org.apache.archiva.repository">ManagedRepository</a>, <a href="../../../../../org/apache/archiva/repository/RemoteRepository.html" title="interface in org.apache.archiva.repository">RemoteRepository</a>, <a href="../../../../../org/apache/archiva/repository/Repository.html" title="interface in org.apache.archiva.repository">Repository</a>, <a href="../../../../../org/apache/archiva/repository/RepositoryGroup.html" title="interface in org.apache.archiva.repository">RepositoryGroup</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/archiva/repository/base/AbstractManagedRepository.html" title="class in org.apache.archiva.repository.base">AbstractManagedRepository</a>, <a href="../../../../../org/apache/archiva/repository/base/AbstractRemoteRepository.html" title="class in org.apache.archiva.repository.base">AbstractRemoteRepository</a>, <a href="../../../../../org/apache/archiva/repository/base/AbstractRepository.html" title="class in org.apache.archiva.repository.base">AbstractRepository</a>, <a href="../../../../../org/apache/archiva/repository/base/AbstractRepositoryGroup.html" title="class in org.apache.archiva.repository.base">AbstractRepositoryGroup</a>, <a href="../../../../../org/apache/archiva/repository/base/BasicManagedRepository.html" title="class in org.apache.archiva.repository.base">BasicManagedRepository</a>, <a href="../../../../../org/apache/archiva/repository/base/BasicRemoteRepository.html" title="class in org.apache.archiva.repository.base">BasicRemoteRepository</a>, <a href="../../../../../org/apache/archiva/repository/storage/FilesystemStorage.html" title="class in org.apache.archiva.repository.storage">FilesystemStorage</a>, <a href="../../../../../org/apache/archiva/repository/maven2/MavenManagedRepository.html" title="class in org.apache.archiva.repository.maven2">MavenManagedRepository</a>, <a href="../../../../../org/apache/archiva/repository/maven2/MavenRemoteRepository.html" title="class in org.apache.archiva.repository.maven2">MavenRemoteRepository</a>, <a href="../../../../../org/apache/archiva/repository/maven2/MavenRepositoryGroup.html" title="class in org.apache.archiva.repository.maven2">MavenRepositoryGroup</a></dd>
</dl>
<hr>
<br>
<pre>public interface <a href="../../../../../src-html/org/apache/archiva/repository/storage/RepositoryStorage.html#line.49">RepositoryStorage</a></pre>
<div class="block">This is the low level API to access artifacts in a repository. Each artifact is represented
by one storage asset. Each asset can be accessed by a path that is independent on the underlying storage
implementation. Paths always use '/' as path separator. The path is local to the repository and
is unique for each asset.
The storage API knows nothing about the repository layout or repository specific metadata.
If you use this API you must either have knowledge about the specific repository layout or use the structure
as it is, e.g. for browsing.
The base implementation for the storage uses a directory structure on the local filesystem.
It is the decision of the repository type specific implementation, if this API provides access to all elements, that
is really stored or just a selected view.
Checking access is not part of this API.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/RepositoryStorage.html#addAsset-java.lang.String-boolean-">addAsset</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path,
boolean&nbsp;container)</code>
<div class="block">Adds a new asset to the underlying storage.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/RepositoryStorage.html#consumeData-org.apache.archiva.repository.storage.StorageAsset-java.util.function.Consumer-boolean-">consumeData</a></span>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;asset,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&gt;&nbsp;consumerFunction,
boolean&nbsp;readLock)</code>
<div class="block">Consumes the data and sets a lock for the file during the operation.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/RepositoryStorage.html#consumeDataFromChannel-org.apache.archiva.repository.storage.StorageAsset-java.util.function.Consumer-boolean-">consumeDataFromChannel</a></span>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;asset,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a>&gt;&nbsp;consumerFunction,
boolean&nbsp;readLock)</code>
<div class="block">Consumes the data and sets a lock for the file during the operation.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/RepositoryStorage.html#copyAsset-org.apache.archiva.repository.storage.StorageAsset-org.apache.archiva.repository.storage.StorageAsset-java.nio.file.CopyOption...-">copyAsset</a></span>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;origin,
<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;destination,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/CopyOption.html?is-external=true" title="class or interface in java.nio.file">CopyOption</a>...&nbsp;copyOptions)</code>
<div class="block">Copies the given asset to the new destination.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/RepositoryStorage.html#copyAsset-org.apache.archiva.repository.storage.StorageAsset-java.lang.String-java.nio.file.CopyOption...-">copyAsset</a></span>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;origin,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;destination,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/CopyOption.html?is-external=true" title="class or interface in java.nio.file">CopyOption</a>...&nbsp;copyOptions)</code>
<div class="block">Copies the given asset to the new destination.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/RepositoryStorage.html#getAsset-java.lang.String-">getAsset</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</code>
<div class="block">Returns information about a specific storage asset.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/RepositoryStorage.html#getLocation--">getLocation</a></span>()</code>
<div class="block">Returns a URI representation of the storage location.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/RepositoryStorage.html#moveAsset-org.apache.archiva.repository.storage.StorageAsset-org.apache.archiva.repository.storage.StorageAsset-java.nio.file.CopyOption...-">moveAsset</a></span>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;origin,
<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;destination,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/CopyOption.html?is-external=true" title="class or interface in java.nio.file">CopyOption</a>...&nbsp;copyOptions)</code>
<div class="block">Moves the asset to the given location and returns the asset object for the destination.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/RepositoryStorage.html#moveAsset-org.apache.archiva.repository.storage.StorageAsset-java.lang.String-java.nio.file.CopyOption...-">moveAsset</a></span>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;origin,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;destination,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/CopyOption.html?is-external=true" title="class or interface in java.nio.file">CopyOption</a>...&nbsp;copyOptions)</code>
<div class="block">Moves the asset to the given location and returns the asset object for the destination.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/RepositoryStorage.html#removeAsset-org.apache.archiva.repository.storage.StorageAsset-">removeAsset</a></span>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;asset)</code>
<div class="block">Removes the given asset from the storage.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/RepositoryStorage.html#updateLocation-java.net.URI-">updateLocation</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;newLocation)</code>
<div class="block">Updates the base location of the repository storage.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/RepositoryStorage.html#writeData-org.apache.archiva.repository.storage.StorageAsset-java.util.function.Consumer-boolean-">writeData</a></span>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;asset,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&gt;&nbsp;consumerFunction,
boolean&nbsp;writeLock)</code>
<div class="block">Writes data to the asset using a write lock.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/RepositoryStorage.html#writeDataToChannel-org.apache.archiva.repository.storage.StorageAsset-java.util.function.Consumer-boolean-">writeDataToChannel</a></span>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;asset,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/WritableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">WritableByteChannel</a>&gt;&nbsp;consumerFunction,
boolean&nbsp;writeLock)</code>
<div class="block">Writes data and sets a lock during the operation.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getLocation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocation</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/RepositoryStorage.html#line.56">getLocation</a>()</pre>
<div class="block">Returns a URI representation of the storage location.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The URI that is pointing to the storage.</dd>
</dl>
</li>
</ul>
<a name="updateLocation-java.net.URI-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateLocation</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/RepositoryStorage.html#line.68">updateLocation</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;newLocation)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Updates the base location of the repository storage. The method does not move any data.
It just points to the new location. Artifacts may not be accessible anymore if the data has
not been moved or copied. Assets retrieved before the relocation may still be pointing to the
old location.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>newLocation</code> - The URI to the new location</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If the repository cannot be relocated</dd>
</dl>
</li>
</ul>
<a name="getAsset-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAsset</h4>
<pre><a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/RepositoryStorage.html#line.75">getAsset</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</pre>
<div class="block">Returns information about a specific storage asset.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>path</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
</dl>
</li>
</ul>
<a name="consumeData-org.apache.archiva.repository.storage.StorageAsset-java.util.function.Consumer-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>consumeData</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/RepositoryStorage.html#line.85">consumeData</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;asset,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&gt;&nbsp;consumerFunction,
boolean&nbsp;readLock)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Consumes the data and sets a lock for the file during the operation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>asset</code> - The asset from which the data is consumed.</dd>
<dd><code>consumerFunction</code> - The consumer that reads the data</dd>
<dd><code>readLock</code> - If true, a read lock is acquired on the asset.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="consumeDataFromChannel-org.apache.archiva.repository.storage.StorageAsset-java.util.function.Consumer-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>consumeDataFromChannel</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/RepositoryStorage.html#line.95">consumeDataFromChannel</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;asset,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a>&gt;&nbsp;consumerFunction,
boolean&nbsp;readLock)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Consumes the data and sets a lock for the file during the operation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>asset</code> - The asset from which the data is consumed.</dd>
<dd><code>consumerFunction</code> - The consumer that reads the data</dd>
<dd><code>readLock</code> - If true, a read lock is acquired on the asset.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="writeData-org.apache.archiva.repository.storage.StorageAsset-java.util.function.Consumer-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeData</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/RepositoryStorage.html#line.104">writeData</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;asset,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&gt;&nbsp;consumerFunction,
boolean&nbsp;writeLock)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Writes data to the asset using a write lock.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>asset</code> - The asset to which the data is written.</dd>
<dd><code>consumerFunction</code> - The function that provides the data.</dd>
<dd><code>writeLock</code> - If true, a write lock is acquired on the destination.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="writeDataToChannel-org.apache.archiva.repository.storage.StorageAsset-java.util.function.Consumer-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeDataToChannel</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/RepositoryStorage.html#line.114">writeDataToChannel</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;asset,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/WritableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">WritableByteChannel</a>&gt;&nbsp;consumerFunction,
boolean&nbsp;writeLock)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Writes data and sets a lock during the operation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>asset</code> - The asset to which the data is written.</dd>
<dd><code>consumerFunction</code> - The function that provides the data.</dd>
<dd><code>writeLock</code> - If true, a write lock is acquired on the destination.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="addAsset-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addAsset</h4>
<pre><a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/RepositoryStorage.html#line.122">addAsset</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path,
boolean&nbsp;container)</pre>
<div class="block">Adds a new asset to the underlying storage.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>path</code> - The path to the asset.</dd>
<dd><code>container</code> - True, if the asset should be a container, false, if it is a file.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
</dl>
</li>
</ul>
<a name="removeAsset-org.apache.archiva.repository.storage.StorageAsset-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAsset</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/RepositoryStorage.html#line.130">removeAsset</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;asset)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Removes the given asset from the storage.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>asset</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="moveAsset-org.apache.archiva.repository.storage.StorageAsset-java.lang.String-java.nio.file.CopyOption...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveAsset</h4>
<pre><a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/RepositoryStorage.html#line.142">moveAsset</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;origin,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;destination,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/CopyOption.html?is-external=true" title="class or interface in java.nio.file">CopyOption</a>...&nbsp;copyOptions)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Moves the asset to the given location and returns the asset object for the destination. Moves only assets that
belong to the same storage instance. It will throw a IOException if the assets are from differents storage
instances.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>origin</code> - The original asset</dd>
<dd><code>destination</code> - The destination path pointing to the new asset.</dd>
<dd><code>copyOptions</code> - The copy options.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The asset representation of the moved object.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="moveAsset-org.apache.archiva.repository.storage.StorageAsset-org.apache.archiva.repository.storage.StorageAsset-java.nio.file.CopyOption...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveAsset</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/RepositoryStorage.html#line.154">moveAsset</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;origin,
<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;destination,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/CopyOption.html?is-external=true" title="class or interface in java.nio.file">CopyOption</a>...&nbsp;copyOptions)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Moves the asset to the given location and returns the asset object for the destination. Moves only assets that
belong to the same storage instance. It will throw a IOException if the assets are from differents storage
instances.
*</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>origin</code> - The original asset</dd>
<dd><code>destination</code> - The destination path.</dd>
<dd><code>copyOptions</code> - The copy options (e.g. <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/StandardCopyOption.html?is-external=true#REPLACE_EXISTING" title="class or interface in java.nio.file"><code>StandardCopyOption.REPLACE_EXISTING</code></a></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If it was not possible to copy the asset.</dd>
</dl>
</li>
</ul>
<a name="copyAsset-org.apache.archiva.repository.storage.StorageAsset-java.lang.String-java.nio.file.CopyOption...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyAsset</h4>
<pre><a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/RepositoryStorage.html#line.166">copyAsset</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;origin,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;destination,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/CopyOption.html?is-external=true" title="class or interface in java.nio.file">CopyOption</a>...&nbsp;copyOptions)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Copies the given asset to the new destination. Copies only assets that belong to the same storage instance.
It will throw a IOException if the assets are from differents storage instances.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>origin</code> - The original asset</dd>
<dd><code>destination</code> - The path to the new asset</dd>
<dd><code>copyOptions</code> - The copy options, e.g. (e.g. <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/StandardCopyOption.html?is-external=true#REPLACE_EXISTING" title="class or interface in java.nio.file"><code>StandardCopyOption.REPLACE_EXISTING</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The asset representation of the copied object</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If it was not possible to copy the asset</dd>
</dl>
</li>
</ul>
<a name="copyAsset-org.apache.archiva.repository.storage.StorageAsset-org.apache.archiva.repository.storage.StorageAsset-java.nio.file.CopyOption...-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>copyAsset</h4>
<pre>void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/RepositoryStorage.html#line.177">copyAsset</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;origin,
<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;destination,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/CopyOption.html?is-external=true" title="class or interface in java.nio.file">CopyOption</a>...&nbsp;copyOptions)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Copies the given asset to the new destination. Copies only assets that belong to the same storage instance.
It will throw a IOException if the assets are from differents storage instances.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>origin</code> - The original asset</dd>
<dd><code>destination</code> - The path to the new asset</dd>
<dd><code>copyOptions</code> - The copy options, e.g. (e.g. <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/StandardCopyOption.html?is-external=true#REPLACE_EXISTING" title="class or interface in java.nio.file"><code>StandardCopyOption.REPLACE_EXISTING</code></a></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If it was not possible to copy the asset</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RepositoryStorage.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/archiva/repository/storage/FilesystemStorage.html" title="class in org.apache.archiva.repository.storage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/archiva/repository/storage/RepositoryStorage.html" target="_top">Frames</a></li>
<li><a href="RepositoryStorage.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2006&#x2013;2019 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>