blob: cbce3be1d76729a7e3c6615b8ef6f0c43f1d1e8c [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>StoragePluginRegistry (Drill : 1.20.3 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="StoragePluginRegistry (Drill : 1.20.3 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":38,"i9":6,"i10":38,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated 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/StoragePluginRegistry.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/drill/exec/store/StoragePluginOptimizerRule.html" title="class in org.apache.drill.exec.store"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginEncodingException.html" title="class in org.apache.drill.exec.store"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/drill/exec/store/StoragePluginRegistry.html" target="_top">Frames</a></li>
<li><a href="StoragePluginRegistry.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>Constr&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>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.drill.exec.store</div>
<h2 title="Interface StoragePluginRegistry" class="title">Interface StoragePluginRegistry</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</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="../../../../../org/apache/drill/exec/store/StoragePlugin.html" title="interface in org.apache.drill.exec.store">StoragePlugin</a>&gt;&gt;</dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistryImpl.html" title="class in org.apache.drill.exec.store">StoragePluginRegistryImpl</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">StoragePluginRegistry</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</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="../../../../../org/apache/drill/exec/store/StoragePlugin.html" title="interface in org.apache.drill.exec.store">StoragePlugin</a>&gt;&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></pre>
</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">Interface 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/drill/exec/store/StoragePluginRegistry.PluginEncodingException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginEncodingException</a></span></code>
<div class="block">Indicates an error when decoding a plugin from JSON.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginFilter.html" title="enum in org.apache.drill.exec.store">StoragePluginRegistry.PluginFilter</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginNotFoundException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginNotFoundException</a></span></code>
<div class="block">Indicates the requested plugin was not found.</div>
</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 <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/drill/exec/store/StoragePluginRegistry.html#PSTORE_NAME">PSTORE_NAME</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="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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</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>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#availablePlugins--">availablePlugins</a></span>()</code>
<div class="block">Returns the set of available plugin names.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#copyConfig-org.apache.drill.common.logical.StoragePluginConfig-">copyConfig</a></span>(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;config)</code>
<div class="block">Copy the given storage plugin config so it may be modified.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#copyConfig-java.lang.String-">copyConfig</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;name)</code>
<div class="block">Copy a stored config so that it can be modified.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#decode-java.lang.String-">decode</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;json)</code>
<div class="block">Return a config decoded from JSON.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><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="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#enabledConfigs--">enabledConfigs</a></span>()</code>
<div class="block">Returns a copy of the set of enabled stored plugin configurations.</div>
</td>
</tr>
<tr id="i5" 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/drill/exec/store/StoragePluginRegistry.html#encode-org.apache.drill.common.logical.StoragePluginConfig-">encode</a></span>(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;config)</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<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/drill/exec/store/StoragePluginRegistry.html#encode-java.lang.String-">encode</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;name)</code>
<div class="block">Return a config encoded as JSON.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#getDefinedConfig-java.lang.String-">getDefinedConfig</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;name)</code>
<div class="block">Retrieve an available configuration.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/store/dfs/FormatPlugin.html" title="interface in org.apache.drill.exec.store.dfs">FormatPlugin</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#getFormatPlugin-org.apache.drill.common.logical.StoragePluginConfig-org.apache.drill.common.logical.FormatPluginConfig-">getFormatPlugin</a></span>(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;storageConfig,
<a href="../../../../../org/apache/drill/common/logical/FormatPluginConfig.html" title="interface in org.apache.drill.common.logical">FormatPluginConfig</a>&nbsp;formatConfig)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">use
<a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#resolveFormat-org.apache.drill.common.logical.StoragePluginConfig-org.apache.drill.common.logical.FormatPluginConfig-java.lang.Class-"><code>resolveFormat(StoragePluginConfig, FormatPluginConfig, Class)</code></a>
which provides type safety. Retained for compatibility with older plugins</span></div>
</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/store/dfs/FormatPlugin.html" title="interface in org.apache.drill.exec.store.dfs">FormatPlugin</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#getFormatPluginByConfig-org.apache.drill.common.logical.StoragePluginConfig-org.apache.drill.common.logical.FormatPluginConfig-">getFormatPluginByConfig</a></span>(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;storageConfig,
<a href="../../../../../org/apache/drill/common/logical/FormatPluginConfig.html" title="interface in org.apache.drill.common.logical">FormatPluginConfig</a>&nbsp;formatConfig)</code>
<div class="block">Get the Format plugin for the FileSystemPlugin associated with the provided
storage config and format config.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/store/StoragePlugin.html" title="interface in org.apache.drill.exec.store">StoragePlugin</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#getPlugin-org.apache.drill.common.logical.StoragePluginConfig-">getPlugin</a></span>(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;config)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">use <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#resolve-org.apache.drill.common.logical.StoragePluginConfig-java.lang.Class-"><code>resolve(StoragePluginConfig, Class)</code></a> which provides
type safety. Retained for compatibility with older plugins</span></div>
</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/store/StoragePlugin.html" title="interface in org.apache.drill.exec.store">StoragePlugin</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#getPlugin-java.lang.String-">getPlugin</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;name)</code>
<div class="block">Get a plugin by name.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/store/StoragePlugin.html" title="interface in org.apache.drill.exec.store">StoragePlugin</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#getPluginByConfig-org.apache.drill.common.logical.StoragePluginConfig-">getPluginByConfig</a></span>(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;config)</code>
<div class="block">Get a plugin by configuration.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/store/SchemaFactory.html" title="interface in org.apache.drill.exec.store">SchemaFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#getSchemaFactory--">getSchemaFactory</a></span>()</code>
<div class="block">Get the Schema factory associated with this storage plugin registry.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#getStoredConfig-java.lang.String-">getStoredConfig</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;name)</code>
<div class="block">Return a plugin from persistent storage.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#init--">init</a></span>()</code>
<div class="block">Initialize the storage plugin registry.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>com.fasterxml.jackson.databind.ObjectMapper</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#mapper--">mapper</a></span>()</code>
<div class="block">Object mapper to read/write the JSON form of a plugin.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#put-java.lang.String-org.apache.drill.common.logical.StoragePluginConfig-">put</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;name,
<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;config)</code>
<div class="block">Store a plugin by name and configuration.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#putFormatPlugin-java.lang.String-java.lang.String-org.apache.drill.common.logical.FormatPluginConfig-">putFormatPlugin</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;pluginName,
<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;formatName,
<a href="../../../../../org/apache/drill/common/logical/FormatPluginConfig.html" title="interface in org.apache.drill.common.logical">FormatPluginConfig</a>&nbsp;formatConfig)</code>
<div class="block">Safe way to add or remove a format plugin config from a stored file
system configuration.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#putJson-java.lang.String-java.lang.String-">putJson</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;name,
<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;json)</code>
<div class="block">Put a storage plugin config from JSON.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#remove-java.lang.String-">remove</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;name)</code>
<div class="block">Remove a plugin by name</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>&lt;T extends <a href="../../../../../org/apache/drill/exec/store/StoragePlugin.html" title="interface in org.apache.drill.exec.store">StoragePlugin</a>&gt;<br>T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#resolve-org.apache.drill.common.logical.StoragePluginConfig-java.lang.Class-">resolve</a></span>(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;storageConfig,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;desired)</code>&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>&lt;T extends <a href="../../../../../org/apache/drill/exec/store/dfs/FormatPlugin.html" title="interface in org.apache.drill.exec.store.dfs">FormatPlugin</a>&gt;<br>T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#resolveFormat-org.apache.drill.common.logical.StoragePluginConfig-org.apache.drill.common.logical.FormatPluginConfig-java.lang.Class-">resolveFormat</a></span>(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;storageConfig,
<a href="../../../../../org/apache/drill/common/logical/FormatPluginConfig.html" title="interface in org.apache.drill.common.logical">FormatPluginConfig</a>&nbsp;formatConfig,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;desired)</code>
<div class="block">Resolve a storage plugin given a storage plugin config.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#setEnabled-java.lang.String-boolean-">setEnabled</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;name,
boolean&nbsp;enabled)</code>
<div class="block">Set the plugin to the requested enabled state.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><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="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#storedConfigs--">storedConfigs</a></span>()</code>
<div class="block">Returns a set of all stored plugin configurations,
directly from the persistent store.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><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="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#storedConfigs-org.apache.drill.exec.store.StoragePluginRegistry.PluginFilter-">storedConfigs</a></span>(<a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginFilter.html" title="enum in org.apache.drill.exec.store">StoragePluginRegistry.PluginFilter</a>&nbsp;filter)</code>
<div class="block">Return a possibly-filtered set of plugins from the persistent
store.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#validatedPut-java.lang.String-org.apache.drill.common.logical.StoragePluginConfig-">validatedPut</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;name,
<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;config)</code>
<div class="block">Like <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#put-java.lang.String-org.apache.drill.common.logical.StoragePluginConfig-"><code>put(String, StoragePluginConfig)</code></a>, but forces instantiation of the
plugin to verify that the configuration is valid at this moment in time.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Iterable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#forEach-java.util.function.Consumer-" title="class or interface in java.lang">forEach</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#iterator--" title="class or interface in java.lang">iterator</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#spliterator--" title="class or interface in java.lang">spliterator</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</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="PSTORE_NAME">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PSTORE_NAME</h4>
<pre>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> PSTORE_NAME</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.drill.exec.store.StoragePluginRegistry.PSTORE_NAME">Constant Field Values</a></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="init--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>void&nbsp;init()</pre>
<div class="block">Initialize the storage plugin registry. Must be called before the registry
is used.</div>
</li>
</ul>
<a name="put-java.lang.String-org.apache.drill.common.logical.StoragePluginConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>void&nbsp;put(<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;name,
<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;config)
throws <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></pre>
<div class="block">Store a plugin by name and configuration. If the plugin already exists,
update the plugin. This form directly updates persistent storage. The
in-memory cache is updated on the next refresh. This form will accept an
invalid plugin, which will be disabled upon refresh. Since Drill is
distributed, and plugins work with external systems, the external system
can become invalid at any moment (not just when pugins are updated), so the
model used for <code>put()</code> mimics normal runtime operation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the plugin</dd>
<dd><code>config</code> - The plugin configuration</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></code> - if plugin cannot be created</dd>
</dl>
</li>
</ul>
<a name="validatedPut-java.lang.String-org.apache.drill.common.logical.StoragePluginConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validatedPut</h4>
<pre>void&nbsp;validatedPut(<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;name,
<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;config)
throws <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></pre>
<div class="block">Like <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#put-java.lang.String-org.apache.drill.common.logical.StoragePluginConfig-"><code>put(String, StoragePluginConfig)</code></a>, but forces instantiation of the
plugin to verify that the configuration is valid at this moment in time.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></code></dd>
</dl>
</li>
</ul>
<a name="setEnabled-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEnabled</h4>
<pre>void&nbsp;setEnabled(<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;name,
boolean&nbsp;enabled)
throws <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></pre>
<div class="block">Set the plugin to the requested enabled state. Does nothing if the plugin
is already in the requested state. If a formerly enabled plugin is
disabled, moves the plugin from the in-memory cache to the ephemeral
store. If a formerly disabled plugin is enabled, verifies that the plugin
can be instantiated as for <code>#verifiedPut()</code>.
<p>
Use this method when changing state. Do not obtain the config and change
the state directly, doing so will make the plugin config inconsistent
with the internal state.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - name of the plugin</dd>
<dd><code>enabled</code> - <code>true</code> to enable the plugin, <code>false</code> to disable</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginNotFoundException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginNotFoundException</a></code> - if the plugin is not found</dd>
<dd><code><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></code> - if the plugin name is not valid or
if enabling a plugin and the plugin is not valid</dd>
</dl>
</li>
</ul>
<a name="getPlugin-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPlugin</h4>
<pre><a href="../../../../../org/apache/drill/exec/store/StoragePlugin.html" title="interface in org.apache.drill.exec.store">StoragePlugin</a>&nbsp;getPlugin(<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;name)
throws <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a>,
<a href="../../../../../org/apache/drill/common/exceptions/UserException.html" title="class in org.apache.drill.common.exceptions">UserException</a></pre>
<div class="block">Get a plugin by name. Create it based on the PStore saved definition if it doesn't exist.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the plugin</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The StoragePlugin instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></code> - if plugin cannot be obtained</dd>
<dd><code><a href="../../../../../org/apache/drill/common/exceptions/UserException.html" title="class in org.apache.drill.common.exceptions">UserException</a></code></dd>
</dl>
</li>
</ul>
<a name="getPluginByConfig-org.apache.drill.common.logical.StoragePluginConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPluginByConfig</h4>
<pre><a href="../../../../../org/apache/drill/exec/store/StoragePlugin.html" title="interface in org.apache.drill.exec.store">StoragePlugin</a>&nbsp;getPluginByConfig(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;config)
throws <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></pre>
<div class="block">Get a plugin by configuration. If it doesn't exist, create it.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>config</code> - The configuration for the plugin.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The StoragePlugin instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></code> - if plugin cannot be obtained</dd>
</dl>
</li>
</ul>
<a name="getPlugin-org.apache.drill.common.logical.StoragePluginConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPlugin</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
<a href="../../../../../org/apache/drill/exec/store/StoragePlugin.html" title="interface in org.apache.drill.exec.store">StoragePlugin</a>&nbsp;getPlugin(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;config)
throws <a href="../../../../../org/apache/drill/common/exceptions/ExecutionSetupException.html" title="class in org.apache.drill.common.exceptions">ExecutionSetupException</a></pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#resolve-org.apache.drill.common.logical.StoragePluginConfig-java.lang.Class-"><code>resolve(StoragePluginConfig, Class)</code></a> which provides
type safety. Retained for compatibility with older plugins</span></div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/common/exceptions/ExecutionSetupException.html" title="class in org.apache.drill.common.exceptions">ExecutionSetupException</a></code></dd>
</dl>
</li>
</ul>
<a name="getStoredConfig-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStoredConfig</h4>
<pre><a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;getStoredConfig(<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;name)</pre>
<div class="block">Return a plugin from persistent storage. Returns both enabled and
disabled stored plugins, but does not return system plugins.
Use this to obtain a plugin for editing (rather than
for planning or executing a query.)</div>
</li>
</ul>
<a name="encode-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encode</h4>
<pre><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;encode(<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;name)
throws <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></pre>
<div class="block">Return a config encoded as JSON.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></code> - if the plugin is undefined</dd>
</dl>
</li>
</ul>
<a name="encode-org.apache.drill.common.logical.StoragePluginConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encode</h4>
<pre><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;encode(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;config)</pre>
</li>
</ul>
<a name="decode-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decode</h4>
<pre><a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;decode(<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;json)
throws <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginEncodingException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginEncodingException</a></pre>
<div class="block">Return a config decoded from JSON.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginEncodingException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginEncodingException</a></code> - if the JSON is invalid</dd>
</dl>
</li>
</ul>
<a name="putJson-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putJson</h4>
<pre>void&nbsp;putJson(<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;name,
<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;json)
throws <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></pre>
<div class="block">Put a storage plugin config from JSON. Validates the JSON and the
resulting storage plugin. Use this form for JSON received from
the UI or other external source.</div>
<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> - if the JSON is invalid</dd>
<dd><code><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></code> - if the underlying
<a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#validatedPut-java.lang.String-org.apache.drill.common.logical.StoragePluginConfig-"><code>validatedPut(String, StoragePluginConfig)</code></a> fails</dd>
</dl>
</li>
</ul>
<a name="copyConfig-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyConfig</h4>
<pre><a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;copyConfig(<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;name)
throws <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></pre>
<div class="block">Copy a stored config so that it can be modified.
<p>
<i><b>Never modify a config stored in the registry!</b></i>
Configs are keyed by name and value; getting a config, then
modifying it, will cause the value maps to become out of sync.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - name of the storage plugin config to copy</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of the config</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></code> - if the name is undefined</dd>
</dl>
</li>
</ul>
<a name="copyConfig-org.apache.drill.common.logical.StoragePluginConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyConfig</h4>
<pre><a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;copyConfig(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;config)</pre>
<div class="block">Copy the given storage plugin config so it may be modified.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>config</code> - the storage plugin config to copy</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the copy</dd>
</dl>
</li>
</ul>
<a name="getDefinedConfig-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefinedConfig</h4>
<pre><a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;getDefinedConfig(<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;name)</pre>
<div class="block">Retrieve an available configuration. Returns enabled stored plugins
and system plugins. These configs are those that can be used to
plan a query.</div>
</li>
</ul>
<a name="remove-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>void&nbsp;remove(<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;name)
throws <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></pre>
<div class="block">Remove a plugin by name</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the storage plugin to remove</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></code></dd>
</dl>
</li>
</ul>
<a name="storedConfigs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>storedConfigs</h4>
<pre><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="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&gt;&nbsp;storedConfigs()</pre>
<div class="block">Returns a set of all stored plugin configurations,
directly from the persistent store. Note: the actual
configs may reside in the cache; make a copy before
making any changes.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>map of stored plugin configurations</dd>
</dl>
</li>
</ul>
<a name="storedConfigs-org.apache.drill.exec.store.StoragePluginRegistry.PluginFilter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>storedConfigs</h4>
<pre><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="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&gt;&nbsp;storedConfigs(<a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginFilter.html" title="enum in org.apache.drill.exec.store">StoragePluginRegistry.PluginFilter</a>&nbsp;filter)</pre>
<div class="block">Return a possibly-filtered set of plugins from the persistent
store.</div>
</li>
</ul>
<a name="enabledConfigs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enabledConfigs</h4>
<pre><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="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&gt;&nbsp;enabledConfigs()</pre>
<div class="block">Returns a copy of the set of enabled stored plugin configurations.
The registry is refreshed against the persistent store prior
to building the map.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>map of enabled, stored plugin configurations</dd>
</dl>
</li>
</ul>
<a name="availablePlugins--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>availablePlugins</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</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>&gt;&nbsp;availablePlugins()</pre>
<div class="block">Returns the set of available plugin names.
Includes system plugins and enabled stored plugins.</div>
</li>
</ul>
<a name="putFormatPlugin-java.lang.String-java.lang.String-org.apache.drill.common.logical.FormatPluginConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putFormatPlugin</h4>
<pre>void&nbsp;putFormatPlugin(<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;pluginName,
<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;formatName,
<a href="../../../../../org/apache/drill/common/logical/FormatPluginConfig.html" title="interface in org.apache.drill.common.logical">FormatPluginConfig</a>&nbsp;formatConfig)
throws <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></pre>
<div class="block">Safe way to add or remove a format plugin config from a stored file
system configuration. Makes a copy of the config, adds/removes the
format plugin, and updates the persistent store with the copy.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pluginName</code> - name of the file system storage plugin config to
modify</dd>
<dd><code>formatName</code> - name of the format plugin to modify</dd>
<dd><code>formatConfig</code> - if null, removes the plugin, if non-null updates
the format plugin config with this value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></code> - if the storage plugin is undefined or
is not a file format plugin</dd>
</dl>
</li>
</ul>
<a name="getFormatPluginByConfig-org.apache.drill.common.logical.StoragePluginConfig-org.apache.drill.common.logical.FormatPluginConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFormatPluginByConfig</h4>
<pre><a href="../../../../../org/apache/drill/exec/store/dfs/FormatPlugin.html" title="interface in org.apache.drill.exec.store.dfs">FormatPlugin</a>&nbsp;getFormatPluginByConfig(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;storageConfig,
<a href="../../../../../org/apache/drill/common/logical/FormatPluginConfig.html" title="interface in org.apache.drill.common.logical">FormatPluginConfig</a>&nbsp;formatConfig)
throws <a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></pre>
<div class="block">Get the Format plugin for the FileSystemPlugin associated with the provided
storage config and format config.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>storageConfig</code> - The storage config for the associated FileSystemPlugin</dd>
<dd><code>formatConfig</code> - The format config for the associated FormatPlugin</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A FormatPlugin instance</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginException.html" title="class in org.apache.drill.exec.store">StoragePluginRegistry.PluginException</a></code> - if plugin cannot be obtained</dd>
</dl>
</li>
</ul>
<a name="getFormatPlugin-org.apache.drill.common.logical.StoragePluginConfig-org.apache.drill.common.logical.FormatPluginConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFormatPlugin</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
<a href="../../../../../org/apache/drill/exec/store/dfs/FormatPlugin.html" title="interface in org.apache.drill.exec.store.dfs">FormatPlugin</a>&nbsp;getFormatPlugin(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;storageConfig,
<a href="../../../../../org/apache/drill/common/logical/FormatPluginConfig.html" title="interface in org.apache.drill.common.logical">FormatPluginConfig</a>&nbsp;formatConfig)
throws <a href="../../../../../org/apache/drill/common/exceptions/ExecutionSetupException.html" title="class in org.apache.drill.common.exceptions">ExecutionSetupException</a></pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use
<a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.html#resolveFormat-org.apache.drill.common.logical.StoragePluginConfig-org.apache.drill.common.logical.FormatPluginConfig-java.lang.Class-"><code>resolveFormat(StoragePluginConfig, FormatPluginConfig, Class)</code></a>
which provides type safety. Retained for compatibility with older plugins</span></div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/common/exceptions/ExecutionSetupException.html" title="class in org.apache.drill.common.exceptions">ExecutionSetupException</a></code></dd>
</dl>
</li>
</ul>
<a name="getSchemaFactory--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSchemaFactory</h4>
<pre><a href="../../../../../org/apache/drill/exec/store/SchemaFactory.html" title="interface in org.apache.drill.exec.store">SchemaFactory</a>&nbsp;getSchemaFactory()</pre>
<div class="block">Get the Schema factory associated with this storage plugin registry.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A SchemaFactory that can register the schemas associated with this plugin registry.</dd>
</dl>
</li>
</ul>
<a name="mapper--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mapper</h4>
<pre>com.fasterxml.jackson.databind.ObjectMapper&nbsp;mapper()</pre>
<div class="block">Object mapper to read/write the JSON form of a plugin.
config.</div>
</li>
</ul>
<a name="resolve-org.apache.drill.common.logical.StoragePluginConfig-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resolve</h4>
<pre>&lt;T extends <a href="../../../../../org/apache/drill/exec/store/StoragePlugin.html" title="interface in org.apache.drill.exec.store">StoragePlugin</a>&gt;&nbsp;T&nbsp;resolve(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;storageConfig,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;desired)</pre>
</li>
</ul>
<a name="resolveFormat-org.apache.drill.common.logical.StoragePluginConfig-org.apache.drill.common.logical.FormatPluginConfig-java.lang.Class-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>resolveFormat</h4>
<pre>&lt;T extends <a href="../../../../../org/apache/drill/exec/store/dfs/FormatPlugin.html" title="interface in org.apache.drill.exec.store.dfs">FormatPlugin</a>&gt;&nbsp;T&nbsp;resolveFormat(<a href="../../../../../org/apache/drill/common/logical/StoragePluginConfig.html" title="class in org.apache.drill.common.logical">StoragePluginConfig</a>&nbsp;storageConfig,
<a href="../../../../../org/apache/drill/common/logical/FormatPluginConfig.html" title="interface in org.apache.drill.common.logical">FormatPluginConfig</a>&nbsp;formatConfig,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;desired)</pre>
<div class="block">Resolve a storage plugin given a storage plugin config. Call from
within a file storage plugin to resolve the plugin.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the required type of the plugin</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>storageConfig</code> - storage plugin config</dd>
<dd><code>formatConfig</code> - format plugin config</dd>
<dd><code>desired</code> - desired target class</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the storage plugin</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the plugin is unknown or of the wrong
format - errors which should never occur in normal operation</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/StoragePluginRegistry.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/drill/exec/store/StoragePluginOptimizerRule.html" title="class in org.apache.drill.exec.store"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/drill/exec/store/StoragePluginRegistry.PluginEncodingException.html" title="class in org.apache.drill.exec.store"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/drill/exec/store/StoragePluginRegistry.html" target="_top">Frames</a></li>
<li><a href="StoragePluginRegistry.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>Constr&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>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; 1970 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>