blob: b2a659895ad15cd270e5d580b2f30b5ba8b7accb [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LocallyCachedTopologyBlob (Storm 2.4.0 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="LocallyCachedTopologyBlob (Storm 2.4.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance 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/LocallyCachedTopologyBlob.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/storm/localizer/LocallyCachedBlob.html" title="class in org.apache.storm.localizer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.TopologyBlobType.html" title="enum in org.apache.storm.localizer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/storm/localizer/LocallyCachedTopologyBlob.html" target="_top">Frames</a></li>
<li><a href="LocallyCachedTopologyBlob.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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.storm.localizer</div>
<h2 title="Class LocallyCachedTopologyBlob" class="title">Class LocallyCachedTopologyBlob</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><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html" title="class in org.apache.storm.localizer">org.apache.storm.localizer.LocallyCachedBlob</a></li>
<li>
<ul class="inheritance">
<li>org.apache.storm.localizer.LocallyCachedTopologyBlob</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">LocallyCachedTopologyBlob</span>
extends <a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html" title="class in org.apache.storm.localizer">LocallyCachedBlob</a></pre>
<div class="block"><p>A locally cached blob for the topology. storm.jar, stormcode.ser, or stormconf.ser. The version number of the blob&rsquo;s file will be stored in <code>${basename}.version</code></p></div>
</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/storm/localizer/LocallyCachedTopologyBlob.TopologyBlobType.html" title="enum in org.apache.storm.localizer">LocallyCachedTopologyBlob.TopologyBlobType</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.html#LOCAL_MODE_JAR_VERSION">LOCAL_MODE_JAR_VERSION</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.storm.localizer.LocallyCachedBlob">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.storm.localizer.<a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html" title="class in org.apache.storm.localizer">LocallyCachedBlob</a></h3>
<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#localUpdateTime">localUpdateTime</a>, <a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#NOT_DOWNLOADED_VERSION">NOT_DOWNLOADED_VERSION</a></code></li>
</ul>
</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="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.html#LocallyCachedTopologyBlob-java.lang.String-boolean-java.util.Map-org.apache.storm.daemon.supervisor.AdvancedFSOps-org.apache.storm.localizer.LocallyCachedTopologyBlob.TopologyBlobType-java.lang.String-org.apache.storm.metric.StormMetricsRegistry-">LocallyCachedTopologyBlob</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;topologyId,
boolean&nbsp;isLocalMode,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<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>,<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>&gt;&nbsp;conf,
<a href="../../../../org/apache/storm/daemon/supervisor/AdvancedFSOps.html" title="class in org.apache.storm.daemon.supervisor">AdvancedFSOps</a>&nbsp;fsOps,
<a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.TopologyBlobType.html" title="enum in org.apache.storm.localizer">LocallyCachedTopologyBlob.TopologyBlobType</a>&nbsp;type,
<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;owner,
<a href="../../../../org/apache/storm/metric/StormMetricsRegistry.html" title="class in org.apache.storm.metric">StormMetricsRegistry</a>&nbsp;metricsRegistry)</code>
<div class="block">Create a new LocallyCachedBlob.</div>
</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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance 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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.html#cleanupOrphanedData--">cleanupOrphanedData</a></span>()</code>
<div class="block">Clean up any temporary files.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.html#commitNewVersion-long-">commitNewVersion</a></span>(long&nbsp;newVersion)</code>
<div class="block">Commit the new version and make it available for the end user.</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/storm/localizer/LocallyCachedTopologyBlob.html#completelyRemove--">completelyRemove</a></span>()</code>
<div class="block">Completely remove anything that is cached locally for this blob and all tracking files also stored for it.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;other)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.html#extractDirFromJar-java.lang.String-java.lang.String-java.nio.file.Path-">extractDirFromJar</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;jarpath,
<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;dir,
<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;dest)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.html#fetchUnzipToTemp-org.apache.storm.blobstore.ClientBlobStore-">fetchUnzipToTemp</a></span>(<a href="../../../../org/apache/storm/blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a>&nbsp;store)</code>
<div class="block">Download the latest version to a temp location.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.html#getLocalVersion--">getLocalVersion</a></span>()</code>
<div class="block">Get the version of the blob cached locally.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.html#getRemoteVersion-org.apache.storm.blobstore.ClientBlobStore-">getRemoteVersion</a></span>(<a href="../../../../org/apache/storm/blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a>&nbsp;store)</code>
<div class="block">Get the version of the blob in the blob store.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.html#getSizeOnDisk--">getSizeOnDisk</a></span>()</code>
<div class="block">Get the amount of disk space that is used by this blob.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.html#isFullyDownloaded--">isFullyDownloaded</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><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/storm/localizer/LocallyCachedTopologyBlob.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.storm.localizer.LocallyCachedBlob">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.storm.localizer.<a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html" title="class in org.apache.storm.localizer">LocallyCachedBlob</a></h3>
<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#addReference-org.apache.storm.localizer.PortAndAssignment-org.apache.storm.localizer.BlobChangingCallback-">addReference</a>, <a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#fetch-org.apache.storm.blobstore.ClientBlobStore-java.lang.String-org.apache.storm.localizer.IOFunction-org.apache.storm.localizer.IOFunction-">fetch</a>, <a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#getDependencies--">getDependencies</a>, <a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#getKey--">getKey</a>, <a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#getLastUsed--">getLastUsed</a>, <a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#getSizeOnDisk-java.nio.file.Path-">getSizeOnDisk</a>, <a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#informReferencesAndCommitNewVersion-long-">informReferencesAndCommitNewVersion</a>, <a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#isUsed--">isUsed</a>, <a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#removeReference-org.apache.storm.localizer.PortAndAssignment-">removeReference</a>, <a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#touch--">touch</a>, <a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#update-org.apache.storm.blobstore.ClientBlobStore-long-">update</a></code></li>
</ul>
<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#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#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#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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="LOCAL_MODE_JAR_VERSION">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LOCAL_MODE_JAR_VERSION</h4>
<pre>public static final&nbsp;long LOCAL_MODE_JAR_VERSION</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.storm.localizer.LocallyCachedTopologyBlob.LOCAL_MODE_JAR_VERSION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="LocallyCachedTopologyBlob-java.lang.String-boolean-java.util.Map-org.apache.storm.daemon.supervisor.AdvancedFSOps-org.apache.storm.localizer.LocallyCachedTopologyBlob.TopologyBlobType-java.lang.String-org.apache.storm.metric.StormMetricsRegistry-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LocallyCachedTopologyBlob</h4>
<pre>protected&nbsp;LocallyCachedTopologyBlob(<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;topologyId,
boolean&nbsp;isLocalMode,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<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>,<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>&gt;&nbsp;conf,
<a href="../../../../org/apache/storm/daemon/supervisor/AdvancedFSOps.html" title="class in org.apache.storm.daemon.supervisor">AdvancedFSOps</a>&nbsp;fsOps,
<a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.TopologyBlobType.html" title="enum in org.apache.storm.localizer">LocallyCachedTopologyBlob.TopologyBlobType</a>&nbsp;type,
<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;owner,
<a href="../../../../org/apache/storm/metric/StormMetricsRegistry.html" title="class in org.apache.storm.metric">StormMetricsRegistry</a>&nbsp;metricsRegistry)
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"><p>Create a new LocallyCachedBlob.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topologyId</code> - the ID of the topology.</dd>
<dd><code>type</code> - the type of the blob.</dd>
<dd><code>owner</code> - the name of the user that owns this blob.</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>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getLocalVersion--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalVersion</h4>
<pre>public&nbsp;long&nbsp;getLocalVersion()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#getLocalVersion--">LocallyCachedBlob</a></code></span></div>
<div class="block"><p>Get the version of the blob cached locally. If the version is unknown or it has not been downloaded NOT_DOWNLOADED_VERSION should be returned. PRECONDITION: this can only be called with a lock on this instance held.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#getLocalVersion--">getLocalVersion</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html" title="class in org.apache.storm.localizer">LocallyCachedBlob</a></code></dd>
</dl>
</li>
</ul>
<a name="getRemoteVersion-org.apache.storm.blobstore.ClientBlobStore-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteVersion</h4>
<pre>public&nbsp;long&nbsp;getRemoteVersion(<a href="../../../../org/apache/storm/blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a>&nbsp;store)
throws <a href="../../../../org/apache/storm/generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a>,
<a href="../../../../org/apache/storm/generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#getRemoteVersion-org.apache.storm.blobstore.ClientBlobStore-">LocallyCachedBlob</a></code></span></div>
<div class="block"><p>Get the version of the blob in the blob store. PRECONDITION: this can only be called with a lock on this instance held.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#getRemoteVersion-org.apache.storm.blobstore.ClientBlobStore-">getRemoteVersion</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html" title="class in org.apache.storm.localizer">LocallyCachedBlob</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/storm/generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></code></dd>
<dd><code><a href="../../../../org/apache/storm/generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a></code></dd>
</dl>
</li>
</ul>
<a name="fetchUnzipToTemp-org.apache.storm.blobstore.ClientBlobStore-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fetchUnzipToTemp</h4>
<pre>public&nbsp;long&nbsp;fetchUnzipToTemp(<a href="../../../../org/apache/storm/blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a>&nbsp;store)
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>,
<a href="../../../../org/apache/storm/generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a>,
<a href="../../../../org/apache/storm/generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#fetchUnzipToTemp-org.apache.storm.blobstore.ClientBlobStore-">LocallyCachedBlob</a></code></span></div>
<div class="block"><p>Download the latest version to a temp location. This may also include unzipping some or all of the data to a temp location. PRECONDITION: this can only be called with a lock on this instance held.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#fetchUnzipToTemp-org.apache.storm.blobstore.ClientBlobStore-">fetchUnzipToTemp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html" title="class in org.apache.storm.localizer">LocallyCachedBlob</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>store</code> - the store to us to download the data.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the version that was downloaded.</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>
<dd><code><a href="../../../../org/apache/storm/generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></code></dd>
<dd><code><a href="../../../../org/apache/storm/generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a></code></dd>
</dl>
</li>
</ul>
<a name="extractDirFromJar-java.lang.String-java.lang.String-java.nio.file.Path-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>extractDirFromJar</h4>
<pre>protected&nbsp;void&nbsp;extractDirFromJar(<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;jarpath,
<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;dir,
<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;dest)
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="isFullyDownloaded--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isFullyDownloaded</h4>
<pre>public&nbsp;boolean&nbsp;isFullyDownloaded()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#isFullyDownloaded--">isFullyDownloaded</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html" title="class in org.apache.storm.localizer">LocallyCachedBlob</a></code></dd>
</dl>
</li>
</ul>
<a name="commitNewVersion-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>commitNewVersion</h4>
<pre>protected&nbsp;void&nbsp;commitNewVersion(long&nbsp;newVersion)
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"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#commitNewVersion-long-">LocallyCachedBlob</a></code></span></div>
<div class="block"><p>Commit the new version and make it available for the end user. PRECONDITION: uncompressToTempLocationIfNeeded will have been called. PRECONDITION: this can only be called with a lock on this instance held.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#commitNewVersion-long-">commitNewVersion</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html" title="class in org.apache.storm.localizer">LocallyCachedBlob</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>newVersion</code> - the version of the blob to commit.</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="cleanupOrphanedData--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanupOrphanedData</h4>
<pre>public&nbsp;void&nbsp;cleanupOrphanedData()
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"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#cleanupOrphanedData--">LocallyCachedBlob</a></code></span></div>
<div class="block"><p>Clean up any temporary files. This will be called after updating a blob, either successfully or if an error has occured. The goal is to find any files that may be left over and remove them so space is not leaked. PRECONDITION: this can only be called with a lock on this instance held.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#cleanupOrphanedData--">cleanupOrphanedData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html" title="class in org.apache.storm.localizer">LocallyCachedBlob</a></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="completelyRemove--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>completelyRemove</h4>
<pre>public&nbsp;void&nbsp;completelyRemove()
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"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#completelyRemove--">LocallyCachedBlob</a></code></span></div>
<div class="block"><p>Completely remove anything that is cached locally for this blob and all tracking files also stored for it. This will be called after the blob was determined to no longer be needed in the cache. PRECONDITION: this can only be called with a lock on this instance held.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#completelyRemove--">completelyRemove</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html" title="class in org.apache.storm.localizer">LocallyCachedBlob</a></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="getSizeOnDisk--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSizeOnDisk</h4>
<pre>public&nbsp;long&nbsp;getSizeOnDisk()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#getSizeOnDisk--">LocallyCachedBlob</a></code></span></div>
<div class="block"><p>Get the amount of disk space that is used by this blob. If the blob is uncompressed it should be the sum of the space used by all of the uncompressed files. In general this will not be called with any locks held so it is a good idea to cache it and updated it when committing a new version.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html#getSizeOnDisk--">getSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html" title="class in org.apache.storm.localizer">LocallyCachedBlob</a></code></dd>
</dl>
</li>
</ul>
<a name="equals-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(<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>&nbsp;other)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
</dl>
</li>
</ul>
<a name="hashCode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre>public&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&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;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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></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/LocallyCachedTopologyBlob.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 class="aboutLanguage"><script type="text/javascript" src="../../../../highlight.pack.js"></script>
<script type="text/javascript"><!--
hljs.initHighlightingOnLoad();
//--></script></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/storm/localizer/LocallyCachedBlob.html" title="class in org.apache.storm.localizer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/storm/localizer/LocallyCachedTopologyBlob.TopologyBlobType.html" title="enum in org.apache.storm.localizer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/storm/localizer/LocallyCachedTopologyBlob.html" target="_top">Frames</a></li>
<li><a href="LocallyCachedTopologyBlob.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>