blob: c8d6b6a9ccd71a026e81a85de4d38754a1783980 [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>StorageUtil (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="StorageUtil (Archiva :: Modules 3.0.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete 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/StorageUtil.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/StorageAsset.html" title="interface in org.apache.archiva.repository.storage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.PathInformation.html" title="class 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/StorageUtil.html" target="_top">Frames</a></li>
<li><a href="StorageUtil.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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="Class StorageUtil" class="title">Class StorageUtil</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.archiva.repository.storage.StorageUtil</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <a href="../../../../../src-html/org/apache/archiva/repository/storage/StorageUtil.html#line.46">StorageUtil</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Utility class for assets. Allows to copy, move between different storage instances and
recursively consume the tree.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Martin Stockhammer <martin_s@apache.org></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.PathInformation.html" title="class in org.apache.archiva.repository.storage">StorageUtil.PathInformation</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.html#StorageUtil--">StorageUtil</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== 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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.html#copyAsset-org.apache.archiva.repository.storage.StorageAsset-org.apache.archiva.repository.storage.StorageAsset-boolean-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;source,
<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;target,
boolean&nbsp;locked,
<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 source asset to the target.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.html#copyToLocalFile-org.apache.archiva.repository.storage.StorageAsset-java.nio.file.Path-java.nio.file.CopyOption...-">copyToLocalFile</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/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</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>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.html#deleteRecursively-org.apache.archiva.repository.storage.StorageAsset-">deleteRecursively</a></span>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;baseDir)</code>
<div class="block">Deletes the given asset and all child assets recursively.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.PathInformation.html" title="class in org.apache.archiva.repository.storage">StorageUtil.PathInformation</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.html#getAssetDataAsPath-org.apache.archiva.repository.storage.StorageAsset-">getAssetDataAsPath</a></span>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;asset)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static <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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.html#getExtension-org.apache.archiva.repository.storage.StorageAsset-">getExtension</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">Returns the extension of the name of a given asset.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.html#moveAsset-org.apache.archiva.repository.storage.StorageAsset-org.apache.archiva.repository.storage.StorageAsset-boolean-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;source,
<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;target,
boolean&nbsp;locked,
<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 a asset between different storage instances.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.html#recurse-org.apache.archiva.repository.storage.StorageAsset-java.util.function.Consumer-">recurse</a></span>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;baseAsset,
<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="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&gt;&nbsp;consumer)</code>
<div class="block">Runs the consumer function recursively on each asset found starting at the base path.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.html#recurse-org.apache.archiva.repository.storage.StorageAsset-java.util.function.Consumer-boolean-">recurse</a></span>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;baseAsset,
<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="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&gt;&nbsp;consumer,
boolean&nbsp;depthFirst)</code>
<div class="block">Runs the consumer function recursively on each asset found starting at the base path.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.html#recurse-org.apache.archiva.repository.storage.StorageAsset-java.util.function.Consumer-boolean-int-">recurse</a></span>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;baseAsset,
<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="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&gt;&nbsp;consumer,
boolean&nbsp;depthFirst,
int&nbsp;maxDepth)</code>
<div class="block">Runs the consumer function recursively on each asset found starting at the base path</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="StorageUtil--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>StorageUtil</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/StorageUtil.html#line.46">StorageUtil</a>()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="copyAsset-org.apache.archiva.repository.storage.StorageAsset-org.apache.archiva.repository.storage.StorageAsset-boolean-java.nio.file.CopyOption...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyAsset</h4>
<pre>public static final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/StorageUtil.html#line.62">copyAsset</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;source,
<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;target,
boolean&nbsp;locked,
<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 source asset to the target. The assets may be from different RepositoryStorage instances.
If you know that source and asset are from the same storage instance, the copy method of the storage
instance may be faster.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>source</code> - The source asset</dd>
<dd><code>target</code> - The target asset</dd>
<dd><code>locked</code> - If true, a readlock is set on the source and a write lock is set on the target.</dd>
<dd><code>copyOptions</code> - Copy options</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-boolean-java.nio.file.CopyOption...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveAsset</h4>
<pre>public static final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/StorageUtil.html#line.140">moveAsset</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;source,
<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;target,
boolean&nbsp;locked,
<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 a asset between different storage instances.
If you know that source and asset are from the same storage instance, the move method of the storage
instance may be faster.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>source</code> - The source asset</dd>
<dd><code>target</code> - The target asset</dd>
<dd><code>locked</code> - If true, a lock is used for the move operation.</dd>
<dd><code>copyOptions</code> - Options for copying</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 move fails</dd>
</dl>
</li>
</ul>
<a name="recurse-org.apache.archiva.repository.storage.StorageAsset-java.util.function.Consumer-boolean-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recurse</h4>
<pre>public static final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/StorageUtil.html#line.235">recurse</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;baseAsset,
<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="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&gt;&nbsp;consumer,
boolean&nbsp;depthFirst,
int&nbsp;maxDepth)
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">Runs the consumer function recursively on each asset found starting at the base path</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>baseAsset</code> - The base path where to start search</dd>
<dd><code>consumer</code> - The consumer function applied to each found asset</dd>
<dd><code>depthFirst</code> - If true, the deepest elements are consumed first.</dd>
<dd><code>maxDepth</code> - The maximum depth to recurse into. 0 means, only the baseAsset is consumed, 1 the base asset and its children and so forth.</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="recurse-org.apache.archiva.repository.storage.StorageAsset-java.util.function.Consumer-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recurse</h4>
<pre>public static final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/StorageUtil.html#line.247">recurse</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;baseAsset,
<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="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&gt;&nbsp;consumer,
boolean&nbsp;depthFirst)
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">Runs the consumer function recursively on each asset found starting at the base path. The function descends into
maximum depth.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>baseAsset</code> - The base path where to start search</dd>
<dd><code>consumer</code> - The consumer function applied to each found asset</dd>
<dd><code>depthFirst</code> - If true, the deepest elements are consumed first.</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="recurse-org.apache.archiva.repository.storage.StorageAsset-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recurse</h4>
<pre>public static final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/StorageUtil.html#line.258">recurse</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;baseAsset,
<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="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&gt;&nbsp;consumer)
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">Runs the consumer function recursively on each asset found starting at the base path. It does not recurse with
depth first and stops only if there are no more children available.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>baseAsset</code> - The base path where to start search</dd>
<dd><code>consumer</code> - The consumer function applied to each found 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="deleteRecursively-org.apache.archiva.repository.storage.StorageAsset-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteRecursively</h4>
<pre>public static final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/StorageUtil.html#line.282">deleteRecursively</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;baseDir)
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">Deletes the given asset and all child assets recursively.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>baseDir</code> - The base asset to remove.</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="getExtension-org.apache.archiva.repository.storage.StorageAsset-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExtension</h4>
<pre>public static final&nbsp;<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;<a href="../../../../../src-html/org/apache/archiva/repository/storage/StorageUtil.html#line.299">getExtension</a>(<a href="../../../../../org/apache/archiva/repository/storage/StorageAsset.html" title="interface in org.apache.archiva.repository.storage">StorageAsset</a>&nbsp;asset)</pre>
<div class="block">Returns the extension of the name of a given asset. Extension is the substring after the last occurence of '.' in the
string. If no '.' is found, the empty string is returned.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>asset</code> - The asset from which to return the extension string.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The extension.</dd>
</dl>
</li>
</ul>
<a name="copyToLocalFile-org.apache.archiva.repository.storage.StorageAsset-java.nio.file.Path-java.nio.file.CopyOption...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyToLocalFile</h4>
<pre>public static final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/StorageUtil.html#line.303">copyToLocalFile</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/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</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>
<dl>
<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="getAssetDataAsPath-org.apache.archiva.repository.storage.StorageAsset-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getAssetDataAsPath</h4>
<pre>public static final&nbsp;<a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.PathInformation.html" title="class in org.apache.archiva.repository.storage">StorageUtil.PathInformation</a>&nbsp;<a href="../../../../../src-html/org/apache/archiva/repository/storage/StorageUtil.html#line.356">getAssetDataAsPath</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>
<dl>
<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>
</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/StorageUtil.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/StorageAsset.html" title="interface in org.apache.archiva.repository.storage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/archiva/repository/storage/StorageUtil.PathInformation.html" title="class 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/StorageUtil.html" target="_top">Frames</a></li>
<li><a href="StorageUtil.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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>