blob: 4a1f3c11704744db597a7ca4961555949af1aeb4 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (16) -->
<title>SharedClassUtilities (OpenJ9 JDK 16)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: module: openj9.sharedclasses, package: com.ibm.oti.shared, class: SharedClassUtilities">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="com.ibm.oti.shared.SharedClassUtilities class">
<meta name="keywords" content="NO_FLAGS">
<meta name="keywords" content="PERSISTENCE_DEFAULT">
<meta name="keywords" content="PERSISTENT">
<meta name="keywords" content="NONPERSISTENT">
<meta name="keywords" content="SNAPSHOT">
<meta name="keywords" content="DESTROYED_ALL_CACHE">
<meta name="keywords" content="DESTROYED_NONE">
<meta name="keywords" content="DESTROY_FAILED_CURRENT_GEN_CACHE">
<meta name="keywords" content="DESTROY_FAILED_OLDER_GEN_CACHE">
<meta name="keywords" content="getSharedCacheInfo()">
<meta name="keywords" content="destroySharedCache()">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar.top">
<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 16</strong></div></div>
<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/SharedClassUtilities.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-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&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="sub-nav-list">
<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>
<div class="nav-list-search"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip.navbar.top">
<!-- -->
</span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../module-summary.html">openj9.sharedclasses</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">com.ibm.oti.shared</a></div>
<h1 title="Class SharedClassUtilities" class="title">Class SharedClassUtilities</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">java.lang.Object</a>
<div class="inheritance">com.ibm.oti.shared.SharedClassUtilities</div>
</div>
<section class="description">
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">SharedClassUtilities</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a></span></div>
<div class="block">SharedClassUtilities provides APIs to get information about all shared class caches in a directory and
to destroy a particular shared class cache.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="SharedClassCacheInfo.html" title="class in com.ibm.oti.shared"><code>SharedClassCacheInfo</code></a></dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field.summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static int</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#DESTROY_FAILED_CURRENT_GEN_CACHE">DESTROY_FAILED_CURRENT_GEN_CACHE</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">Returned by <a href="#destroySharedCache(java.lang.String,int,java.lang.String,boolean)"><code>destroySharedCache(java.lang.String, int, java.lang.String, boolean)</code></a> to indicate that the method has failed to destroy the
current generation cache.</div>
</div>
<div class="col-first odd-row-color"><code>static int</code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#DESTROY_FAILED_OLDER_GEN_CACHE">DESTROY_FAILED_OLDER_GEN_CACHE</a></span></code></div>
<div class="col-last odd-row-color">
<div class="block">Returned by <a href="#destroySharedCache(java.lang.String,int,java.lang.String,boolean)"><code>destroySharedCache(java.lang.String, int, java.lang.String, boolean)</code></a> to indicate that the method has failed to destroy one
or more older generation caches, and either a current generation cache does not exist or is successfully destroyed.</div>
</div>
<div class="col-first even-row-color"><code>static int</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#DESTROYED_ALL_CACHE">DESTROYED_ALL_CACHE</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">Returned by <a href="#destroySharedCache(java.lang.String,int,java.lang.String,boolean)"><code>destroySharedCache(java.lang.String, int, java.lang.String, boolean)</code></a> to indicate either no cache exists
or the method has successfully destroyed caches of all generations.</div>
</div>
<div class="col-first odd-row-color"><code>static int</code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#DESTROYED_NONE">DESTROYED_NONE</a></span></code></div>
<div class="col-last odd-row-color">
<div class="block">Returned by <a href="#destroySharedCache(java.lang.String,int,java.lang.String,boolean)"><code>destroySharedCache(java.lang.String, int, java.lang.String, boolean)</code></a> to indicate that the method failed to destroy any cache.</div>
</div>
<div class="col-first even-row-color"><code>static int</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#NO_FLAGS">NO_FLAGS</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">Value to be passed to <code>flags</code> parameter of the <a href="#getSharedCacheInfo(java.lang.String,int,boolean)"><code>getSharedCacheInfo(java.lang.String, int, boolean)</code></a> method.</div>
</div>
<div class="col-first odd-row-color"><code>static int</code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#NONPERSISTENT">NONPERSISTENT</a></span></code></div>
<div class="col-last odd-row-color">
<div class="block">Specifies a non-persistent cache.</div>
</div>
<div class="col-first even-row-color"><code>static int</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#PERSISTENCE_DEFAULT">PERSISTENCE_DEFAULT</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">Uses the platform dependent default value as the cache type.</div>
</div>
<div class="col-first odd-row-color"><code>static int</code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#PERSISTENT">PERSISTENT</a></span></code></div>
<div class="col-last odd-row-color">
<div class="block">Specifies a persistent cache.</div>
</div>
<div class="col-first even-row-color"><code>static int</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#SNAPSHOT">SNAPSHOT</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">Specifies a cache snapshot.</div>
</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor.summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E()">SharedClassUtilities</a></span>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method.summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static int</code></div>
<div class="col-second even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#destroySharedCache(java.lang.String,int,java.lang.String,boolean)">destroySharedCache</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;cacheDir,
int&nbsp;cacheType,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;cacheName,
boolean&nbsp;useCommandLineValues)</code></div>
<div class="col-last even-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
<div class="block">Destroys a named shared class cache of a given type in a given directory.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code>static <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link" target="_blank">List</a>&lt;<a href="SharedClassCacheInfo.html" title="class in com.ibm.oti.shared">SharedClassCacheInfo</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getSharedCacheInfo(java.lang.String,int,boolean)">getSharedCacheInfo</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;cacheDir,
int&nbsp;flags,
boolean&nbsp;useCommandLineValues)</code></div>
<div class="col-last odd-row-color method-summary-table-tab1 method-summary-table-tab4 method-summary-table">
<div class="block">Iterates through all shared class caches present in the given directory and returns their information in
a <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link" target="_blank"><code>List</code></a>.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.java.lang.Object">Methods declared in class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link" target="_blank">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link" target="_blank">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link" target="_blank">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link" target="_blank">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link" target="_blank">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link" target="_blank">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link" target="_blank">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link" target="_blank">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link" target="_blank">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link" target="_blank">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link" target="_blank">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field.detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="NO_FLAGS">
<h3>NO_FLAGS</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">NO_FLAGS</span></div>
<div class="block">Value to be passed to <code>flags</code> parameter of the <a href="#getSharedCacheInfo(java.lang.String,int,boolean)"><code>getSharedCacheInfo(java.lang.String, int, boolean)</code></a> method.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.oti.shared.SharedClassUtilities.NO_FLAGS">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="PERSISTENCE_DEFAULT">
<h3>PERSISTENCE_DEFAULT</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">PERSISTENCE_DEFAULT</span></div>
<div class="block">Uses the platform dependent default value as the cache type.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.oti.shared.SharedClassUtilities.PERSISTENCE_DEFAULT">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="PERSISTENT">
<h3>PERSISTENT</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">PERSISTENT</span></div>
<div class="block">Specifies a persistent cache.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.oti.shared.SharedClassUtilities.PERSISTENT">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="NONPERSISTENT">
<h3>NONPERSISTENT</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">NONPERSISTENT</span></div>
<div class="block">Specifies a non-persistent cache.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.oti.shared.SharedClassUtilities.NONPERSISTENT">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="SNAPSHOT">
<h3>SNAPSHOT</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">SNAPSHOT</span></div>
<div class="block">Specifies a cache snapshot.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.oti.shared.SharedClassUtilities.SNAPSHOT">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="DESTROYED_ALL_CACHE">
<h3>DESTROYED_ALL_CACHE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">DESTROYED_ALL_CACHE</span></div>
<div class="block">Returned by <a href="#destroySharedCache(java.lang.String,int,java.lang.String,boolean)"><code>destroySharedCache(java.lang.String, int, java.lang.String, boolean)</code></a> to indicate either no cache exists
or the method has successfully destroyed caches of all generations.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.oti.shared.SharedClassUtilities.DESTROYED_ALL_CACHE">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="DESTROYED_NONE">
<h3>DESTROYED_NONE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">DESTROYED_NONE</span></div>
<div class="block">Returned by <a href="#destroySharedCache(java.lang.String,int,java.lang.String,boolean)"><code>destroySharedCache(java.lang.String, int, java.lang.String, boolean)</code></a> to indicate that the method failed to destroy any cache.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.oti.shared.SharedClassUtilities.DESTROYED_NONE">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="DESTROY_FAILED_CURRENT_GEN_CACHE">
<h3>DESTROY_FAILED_CURRENT_GEN_CACHE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">DESTROY_FAILED_CURRENT_GEN_CACHE</span></div>
<div class="block">Returned by <a href="#destroySharedCache(java.lang.String,int,java.lang.String,boolean)"><code>destroySharedCache(java.lang.String, int, java.lang.String, boolean)</code></a> to indicate that the method has failed to destroy the
current generation cache.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.oti.shared.SharedClassUtilities.DESTROY_FAILED_CURRENT_GEN_CACHE">Constant Field Values</a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="DESTROY_FAILED_OLDER_GEN_CACHE">
<h3>DESTROY_FAILED_OLDER_GEN_CACHE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">DESTROY_FAILED_OLDER_GEN_CACHE</span></div>
<div class="block">Returned by <a href="#destroySharedCache(java.lang.String,int,java.lang.String,boolean)"><code>destroySharedCache(java.lang.String, int, java.lang.String, boolean)</code></a> to indicate that the method has failed to destroy one
or more older generation caches, and either a current generation cache does not exist or is successfully destroyed.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="../../../../../constant-values.html#com.ibm.oti.shared.SharedClassUtilities.DESTROY_FAILED_OLDER_GEN_CACHE">Constant Field Values</a></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor.detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>SharedClassUtilities</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SharedClassUtilities</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method.detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getSharedCacheInfo(java.lang.String,int,boolean)">
<h3>getSharedCacheInfo</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link" target="_blank">List</a>&lt;<a href="SharedClassCacheInfo.html" title="class in com.ibm.oti.shared">SharedClassCacheInfo</a>&gt;</span>&nbsp;<span class="element-name">getSharedCacheInfo</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;cacheDir,
int&nbsp;flags,
boolean&nbsp;useCommandLineValues)</span></div>
<div class="block">Iterates through all shared class caches present in the given directory and returns their information in
a <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link" target="_blank"><code>List</code></a>.
<p>
If <code>useCommandLineValues</code> is <code>true</code> then use the command line value as the directory to search in.
If the command line value is not available, use the platform dependent default value.
If <code>useCommandLineValues</code> is <code>false</code>, then use <code>cacheDir</code> as the directory to search in.
<code>cacheDir</code> can be <code>null</code>. In such a case, use the platform dependent default value.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>cacheDir</code> - Absolute path of the directory to look for the shared class caches</dd>
<dd><code>flags</code> - Reserved for future use. Always pass <a href="#NO_FLAGS"><code>NO_FLAGS</code></a></dd>
<dd><code>useCommandLineValues</code> - Use command line values instead of using parameter values</dd>
<dt>Returns:</dt>
<dd>List of <a href="SharedClassCacheInfo.html" title="class in com.ibm.oti.shared"><code>SharedClassCacheInfo</code></a> corresponding to shared class caches which are present
in the specified directory, <code>null</code> on failure.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link" target="_blank">IllegalStateException</a></code> - If shared classes is disabled for this JVM (that is -Xshareclasses:none is present).</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link" target="_blank">IllegalArgumentException</a></code> - If <code>flags</code> is not a valid value.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/SecurityException.html" title="class or interface in java.lang" class="external-link" target="_blank">SecurityException</a></code> - If a security manager is enabled and the calling thread does not
have SharedClassesNamedPermission("getSharedCacheInfo")</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="destroySharedCache(java.lang.String,int,java.lang.String,boolean)">
<h3>destroySharedCache</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">destroySharedCache</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;cacheDir,
int&nbsp;cacheType,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;cacheName,
boolean&nbsp;useCommandLineValues)</span></div>
<div class="block">Destroys a named shared class cache of a given type in a given directory. If the shared class cache has multiple layers, this function will destroy the top layer only.
<p>
If <code>useCommandLineValues</code> is <code>true</code>, then use the command line value to get the shared class cache name,
its type and its directory. If any of these is not available, then use the default value.
If <code>useCommandLineValues</code> is <code>false</code>, then use <code>cacheDir</code>, <code>persistence</code>, and
<code>cacheName</code> to identify the cache to be destroyed. To accept the default value for <code>cacheDir</code>
or <code>cacheName</code>, specify the parameter with a <code>null</code> value.
<p>
The return value of this method depends on the status of existing current and older generation caches.
<ul>
<li>If it fails to destroy any existing cache with the given name, it returns
<a href="#DESTROYED_NONE"><code>DESTROYED_NONE</code></a>.
<li>If no cache exists or it is able to destroy all existing caches of all generations, it returns
<a href="#DESTROYED_ALL_CACHE"><code>DESTROYED_ALL_CACHE</code></a>.<br>
<li>If it fails to destroy an existing current generation cache, irrespective of the state of older generation
caches, it returns <a href="#DESTROY_FAILED_CURRENT_GEN_CACHE"><code>DESTROY_FAILED_CURRENT_GEN_CACHE</code></a>.<br>
<li>If it fails to destroy one or more older generation caches, and either a current generation cache does not
exist or is successfully destroyed, it returns <a href="#DESTROY_FAILED_OLDER_GEN_CACHE"><code>DESTROY_FAILED_OLDER_GEN_CACHE</code></a>.<br>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>cacheDir</code> - Absolute path of the directory where the shared class cache is present</dd>
<dd><code>cacheType</code> - Type of the cache. The type has one of the following values:
<ul>
<li><a href="#PERSISTENCE_DEFAULT"><code>PERSISTENCE_DEFAULT</code></a>
<li><a href="#PERSISTENT"><code>PERSISTENT</code></a>
<li><a href="#NONPERSISTENT"><code>NONPERSISTENT</code></a>
<li><a href="#SNAPSHOT"><code>SNAPSHOT</code></a>
</ul></dd>
<dd><code>cacheName</code> - Name of the cache to be deleted</dd>
<dd><code>useCommandLineValues</code> - Use command line values instead of using parameter values</dd>
<dt>Returns:</dt>
<dd>Returns one of the following values:
<ul>
<li><a href="#DESTROYED_ALL_CACHE"><code>DESTROYED_ALL_CACHE</code></a>
<li><a href="#DESTROYED_NONE"><code>DESTROYED_NONE</code></a>
<li><a href="#DESTROY_FAILED_CURRENT_GEN_CACHE"><code>DESTROY_FAILED_CURRENT_GEN_CACHE</code></a>
<li><a href="#DESTROY_FAILED_OLDER_GEN_CACHE"><code>DESTROY_FAILED_OLDER_GEN_CACHE</code></a>
</ul></dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link" target="_blank">IllegalStateException</a></code> - If shared classes is disabled for this JVM (that is -Xshareclasses:none is present).</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link" target="_blank">IllegalArgumentException</a></code> - If <code>cacheType</code> is not a valid value.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/SecurityException.html" title="class or interface in java.lang" class="external-link" target="_blank">SecurityException</a></code> - If a security manager is enabled and the calling thread does not
have SharedClassesNamedPermission("destroySharedCache")</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small><a href="https://www.eclipse.org/openj9/" target="_blank">Eclipse OpenJ9 website.</a><br> To raise a bug report or suggest an improvement create an <a href="https://github.com/eclipse-openj9/openj9/issues" target="_blank">Eclipse Openj9 issue.</a><br> Copyright &copy; 1998, 2021, IBM Corp. and others.</small></p>
</footer>
</div>
</div>
</body>
</html>