blob: 9c301bc22b0a43c461fbc519a03fd10a887eefdf [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (16) -->
<title>BaseJdmpviewCommand (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.dtfjview, package: com.ibm.jvm.dtfjview.commands, class: BaseJdmpviewCommand">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="com.ibm.jvm.dtfjview.commands.BaseJdmpviewCommand class">
<meta name="keywords" content="out">
<meta name="keywords" content="ctx">
<meta name="keywords" content="logger">
<meta name="keywords" content="hexfmt">
<meta name="keywords" content="printDetailedHelp()">
<meta name="keywords" content="initCommand()">
<meta name="keywords" content="toLong()">
<meta name="keywords" content="getArtifactType()">
<meta name="keywords" content="toHexStringAddr()">
<meta name="keywords" content="handleException()">
<meta name="keywords" content="decodeThreadState()">
<meta name="keywords" content="toHexString()">
<meta name="keywords" content="toString()">
<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/BaseJdmpviewCommand.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="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.dtfjview</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">com.ibm.jvm.dtfjview.commands</a></div>
<h1 title="Class BaseJdmpviewCommand" class="title">Class BaseJdmpviewCommand</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"><a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html" title="class in com.ibm.java.diagnostics.utils.commands">com.ibm.java.diagnostics.utils.commands.BaseCommand</a>
<div class="inheritance">com.ibm.jvm.dtfjview.commands.BaseJdmpviewCommand</div>
</div>
</div>
<section class="description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/ICommand.html" title="interface in com.ibm.java.diagnostics.utils.commands">ICommand</a></code></dd>
</dl>
<dl class="notes">
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="CdCommand.html" title="class in com.ibm.jvm.dtfjview.commands">CdCommand</a></code>, <code><a href="CloseCommand.html" title="class in com.ibm.jvm.dtfjview.commands">CloseCommand</a></code>, <code><a href="DeadlockCommand.html" title="class in com.ibm.jvm.dtfjview.commands">DeadlockCommand</a></code>, <code><a href="FindCommand.html" title="class in com.ibm.jvm.dtfjview.commands">FindCommand</a></code>, <code><a href="FindNextCommand.html" title="class in com.ibm.jvm.dtfjview.commands">FindNextCommand</a></code>, <code><a href="FindPtrCommand.html" title="class in com.ibm.jvm.dtfjview.commands">FindPtrCommand</a></code>, <code><a href="HeapdumpCommand.html" title="class in com.ibm.jvm.dtfjview.commands">HeapdumpCommand</a></code>, <code><a href="HelpCommand.html" title="class in com.ibm.jvm.dtfjview.commands">HelpCommand</a></code>, <code><a href="HexdumpCommand.html" title="class in com.ibm.jvm.dtfjview.commands">HexdumpCommand</a></code>, <code><a href="infocommands/InfoClassCommand.html" title="class in com.ibm.jvm.dtfjview.commands.infocommands">InfoClassCommand</a></code>, <code><a href="infocommands/InfoHeapCommand.html" title="class in com.ibm.jvm.dtfjview.commands.infocommands">InfoHeapCommand</a></code>, <code><a href="infocommands/InfoJitmCommand.html" title="class in com.ibm.jvm.dtfjview.commands.infocommands">InfoJitmCommand</a></code>, <code><a href="infocommands/InfoLockCommand.html" title="class in com.ibm.jvm.dtfjview.commands.infocommands">InfoLockCommand</a></code>, <code><a href="infocommands/InfoMemoryCommand.html" title="class in com.ibm.jvm.dtfjview.commands.infocommands">InfoMemoryCommand</a></code>, <code><a href="infocommands/InfoMmapCommand.html" title="class in com.ibm.jvm.dtfjview.commands.infocommands">InfoMmapCommand</a></code>, <code><a href="infocommands/InfoProcCommand.html" title="class in com.ibm.jvm.dtfjview.commands.infocommands">InfoProcCommand</a></code>, <code><a href="infocommands/InfoSymCommand.html" title="class in com.ibm.jvm.dtfjview.commands.infocommands">InfoSymCommand</a></code>, <code><a href="infocommands/InfoSystemCommand.html" title="class in com.ibm.jvm.dtfjview.commands.infocommands">InfoSystemCommand</a></code>, <code><a href="infocommands/InfoThreadCommand.html" title="class in com.ibm.jvm.dtfjview.commands.infocommands">InfoThreadCommand</a></code>, <code><a href="LogCommand.html" title="class in com.ibm.jvm.dtfjview.commands">LogCommand</a></code>, <code><a href="OpenCommand.html" title="class in com.ibm.jvm.dtfjview.commands">OpenCommand</a></code>, <code><a href="PwdCommand.html" title="class in com.ibm.jvm.dtfjview.commands">PwdCommand</a></code>, <code><a href="ScrollCommand.html" title="class in com.ibm.jvm.dtfjview.commands">ScrollCommand</a></code>, <code><a href="setcommands/SetHeapdumpCommand.html" title="class in com.ibm.jvm.dtfjview.commands.setcommands">SetHeapdumpCommand</a></code>, <code><a href="setcommands/SetLoggingCommand.html" title="class in com.ibm.jvm.dtfjview.commands.setcommands">SetLoggingCommand</a></code>, <code><a href="showcommands/ShowHeapdumpCommand.html" title="class in com.ibm.jvm.dtfjview.commands.showcommands">ShowHeapdumpCommand</a></code>, <code><a href="showcommands/ShowLoggingCommand.html" title="class in com.ibm.jvm.dtfjview.commands.showcommands">ShowLoggingCommand</a></code>, <code><a href="SimpleRedirectorCommand.html" title="class in com.ibm.jvm.dtfjview.commands">SimpleRedirectorCommand</a></code>, <code><a href="WhatisCommand.html" title="class in com.ibm.jvm.dtfjview.commands">WhatisCommand</a></code>, <code><a href="xcommands/XCommand.html" title="class in com.ibm.jvm.dtfjview.commands.xcommands">XCommand</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">BaseJdmpviewCommand</span>
<span class="extends-implements">extends <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html" title="class in com.ibm.java.diagnostics.utils.commands">BaseCommand</a></span></div>
<div class="block">This the base command for all jdmpview commands. It ensures consistent
behaviour with the legacy commands without breaking the generic command
encapsulation.
There are a number of methods which allow DTFJ objects to be consistently
displayed across different plugins e.g. getClassInfo(). Where the method
name starts with getXYZ the output will be returned for further processing,
however where the method starts with writeXYZ then the output is written
immediately to the command's print stream.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested.class.summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</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">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected static class&nbsp;</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="BaseJdmpviewCommand.ArtifactType.html" title="enum class in com.ibm.jvm.dtfjview.commands">BaseJdmpviewCommand.ArtifactType</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">Enum for identifying the type of artifact that is currently being analyzed.</div>
</div>
</div>
</section>
</li>
<!-- =========== 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>protected <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IDTFJContext.html" title="interface in com.ibm.java.diagnostics.utils">IDTFJContext</a></code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#ctx">ctx</a></span></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>protected <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></code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#hexfmt">hexfmt</a></span></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.logging/java/util/logging/Logger.html" title="class or interface in java.util.logging" class="external-link" target="_blank">Logger</a></code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#logger">logger</a></span></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>protected <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></code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#out">out</a></span></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
<div class="inherited-list">
<h3 id="fields.inherited.from.class.com.ibm.java.diagnostics.utils.commands.BaseCommand">Fields declared in class&nbsp;com.ibm.java.diagnostics.utils.commands.<a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html" title="class in com.ibm.java.diagnostics.utils.commands">BaseCommand</a></h3>
<code><a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html#COMMAND_FORMAT">COMMAND_FORMAT</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html#config">config</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html#nl">nl</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html#SUBCOMMAND_FORMAT">SUBCOMMAND_FORMAT</a></code></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()">BaseJdmpviewCommand</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-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><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-tab2 method-summary-table-tab4 method-summary-table"><code><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></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#decodeThreadState(int)">decodeThreadState</a></span>&#8203;(int&nbsp;state)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Textual description of a thread state.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>protected <a href="BaseJdmpviewCommand.ArtifactType.html" title="enum class in com.ibm.jvm.dtfjview.commands">BaseJdmpviewCommand.ArtifactType</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getArtifactType()">getArtifactType</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Determine the type of artifact currently being operated on.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><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></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#handleException(java.lang.Throwable)">handleException</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link" target="_blank">Throwable</a>&nbsp;cause)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Lots of DTFJ methods will throw a standard set of exceptions such as corrupt data
or data unavailable.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#initCommand(java.lang.String,java.lang.String%5B%5D,com.ibm.java.diagnostics.utils.IContext,java.io.PrintStream)">initCommand</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,
<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;args,
<a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IContext.html" title="interface in com.ibm.java.diagnostics.utils">IContext</a>&nbsp;context,
<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-tab4 method-summary-table">
<div class="block">Common processing to initialize the command and make the porting of
existing jdmpview commands easier.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>abstract 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="#printDetailedHelp(java.io.PrintStream)">printDetailedHelp</a></span>&#8203;(<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">Print detailed help for a given command</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><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></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#toHexString(byte)">toHexString</a></span>&#8203;(byte&nbsp;num)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Format a number with the correct number of zeros as padding according
to the data type passed in.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><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></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#toHexString(int)">toHexString</a></span>&#8203;(int&nbsp;num)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Format a number with the correct number of zeros as padding according
to the data type passed in.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><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></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#toHexString(long)">toHexString</a></span>&#8203;(long&nbsp;num)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Format a number with the correct number of zeros as padding according
to the data type passed in.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><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></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#toHexString(short)">toHexString</a></span>&#8203;(short&nbsp;num)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Format a number with the correct number of zeros as padding according
to the data type passed in.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><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></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#toHexStringAddr(long)">toHexStringAddr</a></span>&#8203;(long&nbsp;num)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Format an address as hex padded with zeros according to the size of the process.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>long</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#toLong(java.lang.String)">toLong</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;number)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Typically used when an extension takes a numeric argument, and wants to
accept a variety of formats.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><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></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#toString(double)">toString</a></span>&#8203;(double&nbsp;num)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Convenience method to convert a number into a String to display.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><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></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#toString(float)">toString</a></span>&#8203;(float&nbsp;num)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Convenience method to convert a number into a String to display.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.com.ibm.java.diagnostics.utils.commands.BaseCommand">Methods declared in class&nbsp;com.ibm.java.diagnostics.utils.commands.<a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html" title="class in com.ibm.java.diagnostics.utils.commands">BaseCommand</a></h3>
<code><a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html#addCommand(java.lang.String,java.lang.String,java.lang.String)">addCommand</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html#addSubCommand(java.lang.String,java.lang.String,java.lang.String,java.lang.String)">addSubCommand</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html#getCommandDescriptions()">getCommandDescriptions</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html#getCommandNames()">getCommandNames</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html#getConfig()">getConfig</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html#recognises(java.lang.String,com.ibm.java.diagnostics.utils.IContext)">recognises</a>, <a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/BaseCommand.html#setConfig(com.ibm.java.diagnostics.utils.plugins.PluginConfig)">setConfig</a></code></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>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.com.ibm.java.diagnostics.utils.commands.ICommand">Methods declared in interface&nbsp;com.ibm.java.diagnostics.utils.commands.<a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/ICommand.html" title="interface in com.ibm.java.diagnostics.utils.commands">ICommand</a></h3>
<code><a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/ICommand.html#run(java.lang.String,java.lang.String%5B%5D,com.ibm.java.diagnostics.utils.IContext,java.io.PrintStream)">run</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="out">
<h3>out</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><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></span>&nbsp;<span class="element-name">out</span></div>
</section>
</li>
<li>
<section class="detail" id="ctx">
<h3>ctx</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IDTFJContext.html" title="interface in com.ibm.java.diagnostics.utils">IDTFJContext</a></span>&nbsp;<span class="element-name">ctx</span></div>
</section>
</li>
<li>
<section class="detail" id="logger">
<h3>logger</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.logging/java/util/logging/Logger.html" title="class or interface in java.util.logging" class="external-link" target="_blank">Logger</a></span>&nbsp;<span class="element-name">logger</span></div>
</section>
</li>
<li>
<section class="detail" id="hexfmt">
<h3>hexfmt</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><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></span>&nbsp;<span class="element-name">hexfmt</span></div>
</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>BaseJdmpviewCommand</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">BaseJdmpviewCommand</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="printDetailedHelp(java.io.PrintStream)">
<h3>printDetailedHelp</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">printDetailedHelp</span>&#8203;<span class="parameters">(<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">Print detailed help for a given command</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>out</code> - stream to write the output to</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="initCommand(java.lang.String,java.lang.String[],com.ibm.java.diagnostics.utils.IContext,java.io.PrintStream)">
<h3>initCommand</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">initCommand</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,
<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;args,
<a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/IContext.html" title="interface in com.ibm.java.diagnostics.utils">IContext</a>&nbsp;context,
<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>
throws <span class="exceptions"><a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/CommandException.html" title="class in com.ibm.java.diagnostics.utils.commands">CommandException</a></span></div>
<div class="block">Common processing to initialize the command and make the porting of
existing jdmpview commands easier.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>command</code> - the command being executed</dd>
<dd><code>args</code> - the supplied arguments</dd>
<dd><code>context</code> - the context within which it is operating</dd>
<dd><code>out</code> - where to write the output</dd>
<dt>Returns:</dt>
<dd>returns true if this method has handled the output and the subclass should exit</dd>
<dt>Throws:</dt>
<dd><code><a href="../../../../../../openj9.dtfj/com/ibm/java/diagnostics/utils/commands/CommandException.html" title="class in com.ibm.java.diagnostics.utils.commands">CommandException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toLong(java.lang.String)">
<h3>toLong</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name">toLong</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;number)</span></div>
<div class="block">Typically used when an extension takes a numeric argument, and wants to
accept a variety of formats. Currently it will support decimal or
hexadecimal formats.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>number</code> - String representation of the number to parse</dd>
<dt>Returns:</dt>
<dd>the numeric value</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getArtifactType()">
<h3>getArtifactType</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="BaseJdmpviewCommand.ArtifactType.html" title="enum class in com.ibm.jvm.dtfjview.commands">BaseJdmpviewCommand.ArtifactType</a></span>&nbsp;<span class="element-name">getArtifactType</span>()</div>
<div class="block">Determine the type of artifact currently being operated on.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>artifact type</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toHexStringAddr(long)">
<h3>toHexStringAddr</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><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></span>&nbsp;<span class="element-name">toHexStringAddr</span>&#8203;<span class="parameters">(long&nbsp;num)</span></div>
<div class="block">Format an address as hex padded with zeros according to the size of the process.
e.g. 17 would be formatted as 0x00000011 for 32 bit and 0x0000000000000011 for 64 bit</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>num</code> - the number to format</dd>
<dt>Returns:</dt>
<dd>formatted number</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="handleException(java.lang.Throwable)">
<h3>handleException</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><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></span>&nbsp;<span class="element-name">handleException</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link" target="_blank">Throwable</a>&nbsp;cause)</span></div>
<div class="block">Lots of DTFJ methods will throw a standard set of exceptions such as corrupt data
or data unavailable. This method provides a central point for handling these exceptions
and attempts to provide more context as to whether or not this is an expected occurrence
for the artifact type under analysis.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>cause</code> - the exception returned from a call to the DTFJ API</dd>
<dt>Returns:</dt>
<dd>formatted string for displaying to the user</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="decodeThreadState(int)">
<h3>decodeThreadState</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><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></span>&nbsp;<span class="element-name">decodeThreadState</span>&#8203;<span class="parameters">(int&nbsp;state)</span></div>
<div class="block">Textual description of a thread state.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>state</code> - state to convert</dd>
<dt>Returns:</dt>
<dd>cumulative description of the states</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toHexString(long)">
<h3>toHexString</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><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></span>&nbsp;<span class="element-name">toHexString</span>&#8203;<span class="parameters">(long&nbsp;num)</span></div>
<div class="block">Format a number with the correct number of zeros as padding according
to the data type passed in.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>num</code> - the number to format</dd>
<dt>Returns:</dt>
<dd>formatted number</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toHexString(short)">
<h3>toHexString</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><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></span>&nbsp;<span class="element-name">toHexString</span>&#8203;<span class="parameters">(short&nbsp;num)</span></div>
<div class="block">Format a number with the correct number of zeros as padding according
to the data type passed in.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>num</code> - the number to format</dd>
<dt>Returns:</dt>
<dd>formatted number</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toHexString(int)">
<h3>toHexString</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><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></span>&nbsp;<span class="element-name">toHexString</span>&#8203;<span class="parameters">(int&nbsp;num)</span></div>
<div class="block">Format a number with the correct number of zeros as padding according
to the data type passed in.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>num</code> - the number to format</dd>
<dt>Returns:</dt>
<dd>formatted number</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toHexString(byte)">
<h3>toHexString</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><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></span>&nbsp;<span class="element-name">toHexString</span>&#8203;<span class="parameters">(byte&nbsp;num)</span></div>
<div class="block">Format a number with the correct number of zeros as padding according
to the data type passed in.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>num</code> - the number to format</dd>
<dt>Returns:</dt>
<dd>formatted number</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toString(float)">
<h3>toString</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><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></span>&nbsp;<span class="element-name">toString</span>&#8203;<span class="parameters">(float&nbsp;num)</span></div>
<div class="block">Convenience method to convert a number into a String to display.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>num</code> - the number to format</dd>
<dt>Returns:</dt>
<dd>formatted number</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toString(double)">
<h3>toString</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><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></span>&nbsp;<span class="element-name">toString</span>&#8203;<span class="parameters">(double&nbsp;num)</span></div>
<div class="block">Convenience method to convert a number into a String to display.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>num</code> - the number to format</dd>
<dt>Returns:</dt>
<dd>formatted number</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>