<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (16) -->
<title>IContext (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.dtfj, package: com.ibm.java.diagnostics.utils, interface: IContext">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="com.ibm.java.diagnostics.utils.IContext interface">
<meta name="keywords" content="getProperties()">
<meta name="keywords" content="isCommandRecognised()">
<meta name="keywords" content="execute()">
<meta name="keywords" content="getPluginClassloader()">
<meta name="keywords" content="refresh()">
<meta name="keywords" content="getCommands()">
<meta name="keywords" content="getLastExecutedCommand()">
<meta name="keywords" content="getLastCommandException()">
<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/IContext.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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.dtfj</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">com.ibm.java.diagnostics.utils</a></div>
<h1 title="Interface IContext" class="title">Interface IContext</h1>
</div>
<section class="description">
<dl class="notes">
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="../../../../../../openj9.dtfjview/com/ibm/jvm/dtfjview/spi/ICombinedContext.html" title="interface in com.ibm.jvm.dtfjview.spi">ICombinedContext</a></code>, <code><a href="IDTFJContext.html" title="interface in com.ibm.java.diagnostics.utils">IDTFJContext</a></code></dd>
</dl>
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../../../../../../openj9.dtfjview/com/ibm/jvm/dtfjview/CombinedContext.html" title="class in com.ibm.jvm.dtfjview">CombinedContext</a></code>, <code><a href="Context.html" title="class in com.ibm.java.diagnostics.utils">Context</a></code>, <code><a href="DTFJContext.html" title="class in com.ibm.java.diagnostics.utils">DTFJContext</a></code>, <code><a href="EmptyDTFJContext.html" title="class in com.ibm.java.diagnostics.utils">EmptyDTFJContext</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IContext</span></div>
<div class="block">A context is the process and address space within which a plugin
 is operating. There are no guarantees made as to the presence of 
 a JVM.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== 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-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract 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-tab2 method-summary-table method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#execute(com.ibm.java.diagnostics.utils.commands.CommandParser,java.io.PrintStream)">execute</a></span>&#8203;(<a href="commands/CommandParser.html" title="class in com.ibm.java.diagnostics.utils.commands">CommandParser</a>&nbsp;command,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/PrintStream.html" title="class or interface in java.io" class="external-link" target="_blank">PrintStream</a>&nbsp;out)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Execute the entered command line with the output sent to the supplied print stream.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#execute(java.lang.String,java.io.PrintStream)">execute</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;cmdline,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/PrintStream.html" title="class or interface in java.io" class="external-link" target="_blank">PrintStream</a>&nbsp;out)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Execute the entered command line with the output sent to the supplied print stream.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#execute(java.lang.String,java.lang.String%5B%5D,java.io.PrintStream)">execute</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;cmdline,
 <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;arguments,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/PrintStream.html" title="class or interface in java.io" class="external-link" target="_blank">PrintStream</a>&nbsp;out)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Execute the entered command line with the output sent to the supplied print stream.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><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="commands/ICommand.html" title="interface in com.ibm.java.diagnostics.utils.commands">ICommand</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getCommands()">getCommands</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Returns a list of commands which are available for this context</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link" target="_blank">Exception</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getLastCommandException()">getLastCommandException</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Provides access to any uncaught exceptions thrown when the last command was executed.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="commands/ICommand.html" title="interface in com.ibm.java.diagnostics.utils.commands">ICommand</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getLastExecutedCommand()">getLastExecutedCommand</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">The last command which was successfully executed by the context.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="plugins/PluginLoader.html" title="interface in com.ibm.java.diagnostics.utils.plugins">PluginLoader</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getPluginClassloader()">getPluginClassloader</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Gets the classloader which has been used to add plugins.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Properties.html" title="class or interface in java.util" class="external-link" target="_blank">Properties</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getProperties()">getProperties</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">A set of defined properties.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#isCommandRecognised(java.lang.String)">isCommandRecognised</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;command)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Allows to check if the given command will be executed (i.e. if there is a command that will accept the string)
 without actually executing it, avoiding error messages etc.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#refresh()">refresh</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Refreshes the context, this will perform actions such as rescanning
 the plugin path or other initialization tasks.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method.detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getProperties()">
<h3>getProperties</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Properties.html" title="class or interface in java.util" class="external-link" target="_blank">Properties</a></span>&nbsp;<span class="element-name">getProperties</span>()</div>
<div class="block">A set of defined properties. This typically includes information not on the DTFJ API, but may be useful for plugin processing e.g. a logging level.
 Tools such as jdmpview which provide not only the execution harness but some in-built commands
 use properties to pass information to commands.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>properties that have currently been set</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isCommandRecognised(java.lang.String)">
<h3>isCommandRecognised</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isCommandRecognised</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;command)</span></div>
<div class="block">Allows to check if the given command will be executed (i.e. if there is a command that will accept the string)
 without actually executing it, avoiding error messages etc.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>command</code> - - just the actual command WITHOUT ARGUMENTS</dd>
<dt>Returns:</dt>
</dl>
</section>
</li>
<li>
<section class="detail" id="execute(java.lang.String,java.lang.String[],java.io.PrintStream)">
<h3>execute</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">execute</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;cmdline,
 <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;arguments,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/PrintStream.html" title="class or interface in java.io" class="external-link" target="_blank">PrintStream</a>&nbsp;out)</span></div>
<div class="block">Execute the entered command line with the output sent to the supplied print stream.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>cmdline</code> - line to execute</dd>
<dd><code>out</code> - where to write the output to</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="execute(java.lang.String,java.io.PrintStream)">
<h3>execute</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">execute</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;cmdline,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/PrintStream.html" title="class or interface in java.io" class="external-link" target="_blank">PrintStream</a>&nbsp;out)</span></div>
<div class="block">Execute the entered command line with the output sent to the supplied print stream.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>cmdline</code> - line to execute</dd>
<dd><code>out</code> - where to write the output to</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="execute(com.ibm.java.diagnostics.utils.commands.CommandParser,java.io.PrintStream)">
<h3>execute</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">execute</span>&#8203;<span class="parameters">(<a href="commands/CommandParser.html" title="class in com.ibm.java.diagnostics.utils.commands">CommandParser</a>&nbsp;command,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/PrintStream.html" title="class or interface in java.io" class="external-link" target="_blank">PrintStream</a>&nbsp;out)</span></div>
<div class="block">Execute the entered command line with the output sent to the supplied print stream.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>command</code> - </dd>
<dd><code>out</code> - </dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPluginClassloader()">
<h3>getPluginClassloader</h3>
<div class="member-signature"><span class="return-type"><a href="plugins/PluginLoader.html" title="interface in com.ibm.java.diagnostics.utils.plugins">PluginLoader</a></span>&nbsp;<span class="element-name">getPluginClassloader</span>()</div>
<div class="block">Gets the classloader which has been used to add plugins. This is typically done
 to add new plugins at runtime or refresh the existing list.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the classloader</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="refresh()">
<h3>refresh</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">refresh</span>()</div>
<div class="block">Refreshes the context, this will perform actions such as rescanning
 the plugin path or other initialization tasks.</div>
</section>
</li>
<li>
<section class="detail" id="getCommands()">
<h3>getCommands</h3>
<div class="member-signature"><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="commands/ICommand.html" title="interface in com.ibm.java.diagnostics.utils.commands">ICommand</a>&gt;</span>&nbsp;<span class="element-name">getCommands</span>()</div>
<div class="block">Returns a list of commands which are available for this context</div>
<dl class="notes">
<dt>Returns:</dt>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLastExecutedCommand()">
<h3>getLastExecutedCommand</h3>
<div class="member-signature"><span class="return-type"><a href="commands/ICommand.html" title="interface in com.ibm.java.diagnostics.utils.commands">ICommand</a></span>&nbsp;<span class="element-name">getLastExecutedCommand</span>()</div>
<div class="block">The last command which was successfully executed by the context.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the command or null if none have been executed or the command threw an exception</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLastCommandException()">
<h3>getLastCommandException</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link" target="_blank">Exception</a></span>&nbsp;<span class="element-name">getLastCommandException</span>()</div>
<div class="block">Provides access to any uncaught exceptions thrown when the last command was executed.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the exception or null of no uncaught exceptions were thrown</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>
