<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ICombinedContext (OpenJ9 JDK 11)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="com.ibm.jvm.dtfjview.spi.ICombinedContext interface">
<meta name="keywords" content="getID()">
<meta name="keywords" content="setID()">
<meta name="keywords" content="getDDRIObject()">
<meta name="keywords" content="getDDRStartupException()">
<meta name="keywords" content="displayContext()">
<meta name="keywords" content="setAsCurrent()">
<meta name="keywords" content="isDDRAvailable()">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="ICombinedContext (OpenJ9 JDK 11)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" 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="navBarCell1Rev">Class</li>
<li><a href="class-use/ICombinedContext.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 class="aboutLanguage"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 11</strong></div></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<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="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="moduleLabelInType">Module</span>&nbsp;<a href="../../../../../module-summary.html">openj9.dtfjview</a></div>
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.ibm.jvm.dtfjview.spi</a></div>
<h2 title="Interface ICombinedContext" class="title">Interface ICombinedContext</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IContext.html" title="interface in com.ibm.java.diagnostics.utils">IContext</a></code>, <code><a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IDTFJContext.html" title="interface in com.ibm.java.diagnostics.utils">IDTFJContext</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../CombinedContext.html" title="class in com.ibm.jvm.dtfjview">CombinedContext</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">ICombinedContext</span>
extends <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IDTFJContext.html" title="interface in com.ibm.java.diagnostics.utils">IDTFJContext</a></pre>
<div class="block">A combined context is an extended DTFJ context which also contains a DDR context.
 This is to allow commands to be passed down the stack starting with DTFJ and then 
 moving to DDR if necessary.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<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></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#displayContext(com.ibm.jvm.dtfjview.spi.IOutputManager,boolean)">displayContext</a></span>&#8203;(<a href="IOutputManager.html" title="interface in com.ibm.jvm.dtfjview.spi">IOutputManager</a>&nbsp;out,
              boolean&nbsp;shortFormat)</code></th>
<td class="colLast">
<div class="block">Display the contexts which are present in the core file currently being analysed.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Object</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDDRIObject()">getDDRIObject</a></span>()</code></th>
<td class="colLast">
<div class="block">A handle to the underlying DDR interactive session</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Throwable</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDDRStartupException()">getDDRStartupException</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the exception which was thrown when trying to start a DDR interactive session.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getID()">getID</a></span>()</code></th>
<td class="colLast">
<div class="block">Contexts have a unique positive numeric identifier within a session.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDDRAvailable()">isDDRAvailable</a></span>()</code></th>
<td class="colLast">
<div class="block">Flag to indicate if an associated DDR context is available as well as the DTFJ one.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAsCurrent()">setAsCurrent</a></span>()</code></th>
<td class="colLast">
<div class="block">Called when this context becomes the current context to allow
 any initialisation to take place.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setID(int)">setID</a></span>&#8203;(int&nbsp;id)</code></th>
<td class="colLast">
<div class="block">Sets the numeric ID for this context.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.ibm.java.diagnostics.utils.IContext">
<!--   -->
</a>
<h3>Methods declared in interface&nbsp;com.ibm.java.diagnostics.utils.<a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IContext.html" title="interface in com.ibm.java.diagnostics.utils">IContext</a></h3>
<code><a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IContext.html#execute(com.ibm.java.diagnostics.utils.commands.CommandParser,java.io.PrintStream)">execute</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IContext.html#execute(java.lang.String,java.io.PrintStream)">execute</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IContext.html#execute(java.lang.String,java.lang.String%5B%5D,java.io.PrintStream)">execute</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IContext.html#getCommands()">getCommands</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IContext.html#getLastCommandException()">getLastCommandException</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IContext.html#getLastExecutedCommand()">getLastExecutedCommand</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IContext.html#getPluginClassloader()">getPluginClassloader</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IContext.html#getProperties()">getProperties</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IContext.html#isCommandRecognised(java.lang.String)">isCommandRecognised</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IContext.html#refresh()">refresh</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.ibm.java.diagnostics.utils.IDTFJContext">
<!--   -->
</a>
<h3>Methods declared in interface&nbsp;com.ibm.java.diagnostics.utils.<a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IDTFJContext.html" title="interface in com.ibm.java.diagnostics.utils">IDTFJContext</a></h3>
<code><a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IDTFJContext.html#getAddressSpace()">getAddressSpace</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IDTFJContext.html#getImage()">getImage</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IDTFJContext.html#getMajorVersion()">getMajorVersion</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IDTFJContext.html#getMinorVersion()">getMinorVersion</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IDTFJContext.html#getProcess()">getProcess</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IDTFJContext.html#getRuntime()">getRuntime</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IDTFJContext.html#hasPropertyBeenSet(java.lang.String)">hasPropertyBeenSet</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="getID()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getID</h4>
<pre class="methodSignature">int&nbsp;getID()</pre>
<div class="block">Contexts have a unique positive numeric identifier within a session. This number always
 increases if new contexts are created via the open command rather than attempting to re-use
 any already used IDs.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the ID for this context</dd>
</dl>
</li>
</ul>
<a id="setID(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setID</h4>
<pre class="methodSignature">void&nbsp;setID&#8203;(int&nbsp;id)</pre>
<div class="block">Sets the numeric ID for this context. This setter is provided so as to allow context creation
 before assigning the ID. However once set it should not be changed. Later implementations may
 enforce this.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - the context ID</dd>
</dl>
</li>
</ul>
<a id="getDDRIObject()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDDRIObject</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Object</a>&nbsp;getDDRIObject()</pre>
<div class="block">A handle to the underlying DDR interactive session</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a valid session or null if the core file is not DDR enabled</dd>
</dl>
</li>
</ul>
<a id="getDDRStartupException()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDDRStartupException</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Throwable</a>&nbsp;getDDRStartupException()</pre>
<div class="block">Get the exception which was thrown when trying to start a DDR interactive session.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the exception or null if the session started without error.</dd>
</dl>
</li>
</ul>
<a id="displayContext(com.ibm.jvm.dtfjview.spi.IOutputManager,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>displayContext</h4>
<pre class="methodSignature">void&nbsp;displayContext&#8203;(<a href="IOutputManager.html" title="interface in com.ibm.jvm.dtfjview.spi">IOutputManager</a>&nbsp;out,
                    boolean&nbsp;shortFormat)</pre>
<div class="block">Display the contexts which are present in the core file currently being analysed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>shortFormat</code> - true for short format which just displays the first line of the java -version string</dd>
</dl>
</li>
</ul>
<a id="setAsCurrent()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAsCurrent</h4>
<pre class="methodSignature">void&nbsp;setAsCurrent()</pre>
<div class="block">Called when this context becomes the current context to allow
 any initialisation to take place.</div>
</li>
</ul>
<a id="isDDRAvailable()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isDDRAvailable</h4>
<pre class="methodSignature">boolean&nbsp;isDDRAvailable()</pre>
<div class="block">Flag to indicate if an associated DDR context is available as well as the DTFJ one.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if DDR is available</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" 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="navBarCell1Rev">Class</li>
<li><a href="class-use/ICombinedContext.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 class="aboutLanguage"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 11</strong></div></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<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="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><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>
</body>
</html>
