blob: d3e1d511b443760eaf0ae8c2fc214afb7cb6c743 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (16) -->
<title>JavaAbstractClass (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.dtfj.java.j9, class: JavaAbstractClass">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="com.ibm.dtfj.java.j9.JavaAbstractClass class">
<meta name="keywords" content="_classPointer">
<meta name="keywords" content="_javaVM">
<meta name="keywords" content="getClassLoader()">
<meta name="keywords" content="getObject()">
<meta name="keywords" content="getModifiers()">
<meta name="keywords" content="getID()">
<meta name="keywords" content="getInterfaces()">
<meta name="keywords" content="addInterfaceName()">
<meta name="keywords" content="getInstanceSize()">
<meta name="keywords" content="equals()">
<meta name="keywords" content="getHashcodeSlotSize()">
<meta name="keywords" content="hashCode()">
<meta name="keywords" content="readFlagsFromInstance()">
<meta name="keywords" content="addClassLoaderReference()">
<meta name="keywords" content="addSuperclassReference()">
<meta name="keywords" content="addClassObjectReference()">
<meta name="keywords" content="getProtectionDomain()">
<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/JavaAbstractClass.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.dtfj</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">com.ibm.dtfj.java.j9</a></div>
<h1 title="Class JavaAbstractClass" class="title">Class JavaAbstractClass</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.dtfj.java.j9.JavaAbstractClass</div>
</div>
<section class="description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></dd>
</dl>
<dl class="notes">
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="JavaArrayClass.html" title="class in com.ibm.dtfj.java.j9">JavaArrayClass</a></code>, <code><a href="JavaClass.html" title="class in com.ibm.dtfj.java.j9">JavaClass</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">JavaAbstractClass</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>
implements <a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></span></div>
</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>protected <a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#_classPointer">_classPointer</a></span></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>protected <a href="JavaRuntime.html" title="class in com.ibm.dtfj.java.j9">JavaRuntime</a></code></div>
<div class="col-second odd-row-color"><code><span class="member-name-link"><a href="#_javaVM">_javaVM</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.dtfj.java.JavaClass">Fields declared in interface&nbsp;com.ibm.dtfj.java.<a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></h3>
<code><a href="../JavaClass.html#MODIFIERS_UNAVAILABLE">MODIFIERS_UNAVAILABLE</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 three-column-summary">
<div class="table-header col-first">Modifier</div>
<div class="table-header col-second">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected </code></div>
<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(com.ibm.dtfj.java.j9.JavaRuntime,com.ibm.dtfj.image.ImagePointer,int,long,com.ibm.dtfj.image.ImagePointer,int,int)">JavaAbstractClass</a></span>&#8203;(<a href="JavaRuntime.html" title="class in com.ibm.dtfj.java.j9">JavaRuntime</a>&nbsp;vm,
<a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;id,
int&nbsp;modifiers,
long&nbsp;loaderID,
<a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;objectID,
int&nbsp;flagOffset,
int&nbsp;hashcodeSlot)</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>protected void</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="#addClassLoaderReference(java.util.Collection)">addClassLoaderReference</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link" target="_blank">Collection</a>&nbsp;coll)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>protected void</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="#addClassObjectReference(java.util.Collection)">addClassObjectReference</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link" target="_blank">Collection</a>&nbsp;coll)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</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="#addInterfaceName(java.lang.String)">addInterfaceName</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;interfaceName)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>protected void</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="#addSuperclassReference(java.util.Collection)">addSuperclassReference</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link" target="_blank">Collection</a>&nbsp;coll)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>boolean</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="#equals(java.lang.Object)">equals</a></span>&#8203;(<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>&nbsp;obj)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Compares the argument to the receiver, and answers true
if they represent the <em>same</em> object using a class
specific comparison.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="../JavaClassLoader.html" title="interface in com.ibm.dtfj.java">JavaClassLoader</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="#getClassLoader()">getClassLoader</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">Fetch the class loader associated with this class.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>int</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="#getHashcodeSlotSize()">getHashcodeSlotSize</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Returns the size of the extra slot needed for stored hashcode - if the object was moved - in JVMs built with
J9VM_OPT_NEW_OBJECT_HASH.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</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="#getID()">getID</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">The ID of a class is a pointer to a section of memory which identifies
the class.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>abstract int</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="#getInstanceSize(com.ibm.dtfj.java.JavaObject)">getInstanceSize</a></span>&#8203;(<a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a>&nbsp;instance)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">&nbsp;</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/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</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="#getInterfaces()">getInterfaces</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">Get the set of names of interfaces directly implemented by this class.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>int</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="#getModifiers()">getModifiers</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Return the Java language modifiers for this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</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="#getObject()">getObject</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">Fetch the java.lang.Class object associated with this class.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</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="#getProtectionDomain()">getProtectionDomain</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Returns the protection domain for this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>int</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="#hashCode()">hashCode</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">Answers an integer hash code for the receiver.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>int</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="#readFlagsFromInstance(com.ibm.dtfj.java.JavaObject)">readFlagsFromInstance</a></span>&#8203;(<a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a>&nbsp;instance)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</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>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.com.ibm.dtfj.java.JavaClass">Methods declared in interface&nbsp;com.ibm.dtfj.java.<a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></h3>
<code><a href="../JavaClass.html#getComponentType()">getComponentType</a>, <a href="../JavaClass.html#getConstantPoolReferences()">getConstantPoolReferences</a>, <a href="../JavaClass.html#getDeclaredFields()">getDeclaredFields</a>, <a href="../JavaClass.html#getDeclaredMethods()">getDeclaredMethods</a>, <a href="../JavaClass.html#getInstanceSize()">getInstanceSize</a>, <a href="../JavaClass.html#getName()">getName</a>, <a href="../JavaClass.html#getReferences()">getReferences</a>, <a href="../JavaClass.html#getSuperclass()">getSuperclass</a>, <a href="../JavaClass.html#isArray()">isArray</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="_classPointer">
<h3>_classPointer</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></span>&nbsp;<span class="element-name">_classPointer</span></div>
</section>
</li>
<li>
<section class="detail" id="_javaVM">
<h3>_javaVM</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="JavaRuntime.html" title="class in com.ibm.dtfj.java.j9">JavaRuntime</a></span>&nbsp;<span class="element-name">_javaVM</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;(com.ibm.dtfj.java.j9.JavaRuntime,com.ibm.dtfj.image.ImagePointer,int,long,com.ibm.dtfj.image.ImagePointer,int,int)">
<h3>JavaAbstractClass</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="element-name">JavaAbstractClass</span>&#8203;<span class="parameters">(<a href="JavaRuntime.html" title="class in com.ibm.dtfj.java.j9">JavaRuntime</a>&nbsp;vm,
<a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;id,
int&nbsp;modifiers,
long&nbsp;loaderID,
<a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;objectID,
int&nbsp;flagOffset,
int&nbsp;hashcodeSlot)</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="getClassLoader()">
<h3>getClassLoader</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../JavaClassLoader.html" title="interface in com.ibm.dtfj.java">JavaClassLoader</a></span>&nbsp;<span class="element-name">getClassLoader</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#getClassLoader()">JavaClass</a></code></span></div>
<div class="block">Fetch the class loader associated with this class. Classes defined in
the bootstrap class loader (including classes representing primitive
types or void) will always return a JavaClassLoader representing the
bootstrap class loader. This asymmetry with
java.lang.Class#getClassLoader() is intentional.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaClass.html#getClassLoader()">getClassLoader</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></dd>
<dt>Returns:</dt>
<dd>the JavaClassLoader in which this class was defined</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code> - if the class loader for this class cannot
be found (a class cannot exist without a loader so this implies corruption)</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getObject()">
<h3>getObject</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></span>&nbsp;<span class="element-name">getObject</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#getObject()">JavaClass</a></code></span></div>
<div class="block">Fetch the java.lang.Class object associated with this class.
<p>
In some implementations this may be null if no object has been
created to represent this class, or if the class is synthetic.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaClass.html#getObject()">getObject</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></dd>
<dt>Returns:</dt>
<dd>the java.lang.Class object associated with this class</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
<dt>See Also:</dt>
<dd><a href="../JavaClass.html#getID()"><code>JavaClass.getID()</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getModifiers()">
<h3>getModifiers</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getModifiers</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#getModifiers()">JavaClass</a></code></span></div>
<div class="block">Return the Java language modifiers for this class.
<p>
The modifiers are defined by the JVM Specification.
<p>
Return MODIFIERS_UNAVAILABLE if the modifiers are unavailable.
This might be the case if DTFJ is operating against an artefact such as a portable heap dump that does not contain
information about a class's modifiers.
<p>
Note that, for inner classes, the actual modifiers are returned, not
the synthetic modifiers. For instance, a class will never have its
'protected' modifier set, even if the inner class was a protected
member, since 'protected' is not a legal modifier for a class file.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaClass.html#getModifiers()">getModifiers</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></dd>
<dt>Returns:</dt>
<dd>the modifiers for this class</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getID()">
<h3>getID</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></span>&nbsp;<span class="element-name">getID</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#getID()">JavaClass</a></code></span></div>
<div class="block">The ID of a class is a pointer to a section of memory which identifies
the class. The contents of this memory are implementation defined.
<p>
In some implementations getID() and getObject().getID() may return the
same value. This implies that the class object is also the primary
internal representation of the class. DTFJ users should not rely on this
behaviour.
<p>
In some implementations, getID() may return null for some classes.
This indicates that the class is a synthetic class which has been
constructed for DTFJ purposes only. The class has no physical
representation in the VM.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaClass.html#getID()">getID</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></dd>
<dt>Returns:</dt>
<dd>a pointer to the class</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getInterfaces()">
<h3>getInterfaces</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/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getInterfaces</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#getInterfaces()">JavaClass</a></code></span></div>
<div class="block">Get the set of names of interfaces directly implemented by this class.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaClass.html#getInterfaces()">getInterfaces</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></dd>
<dt>Returns:</dt>
<dd>an iterator over the collection of the names of interfaces
directly implemented by this class. Some JVM implementations may
choose to load interfaces lazily, so only the names are returned.
The JavaClass objects may be found through the defining class loader.</dd>
<dt>See Also:</dt>
<dd><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"><code>String</code></a>,
<a href="../JavaClassLoader.html#findClass(java.lang.String)"><code>JavaClassLoader.findClass(String)</code></a>,
<a href="../../image/CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addInterfaceName(java.lang.String)">
<h3>addInterfaceName</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addInterfaceName</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;interfaceName)</span></div>
</section>
</li>
<li>
<section class="detail" id="getInstanceSize(com.ibm.dtfj.java.JavaObject)">
<h3>getInstanceSize</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getInstanceSize</span>&#8203;<span class="parameters">(<a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a>&nbsp;instance)</span></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>instance</code> - The instance is needed for array types to calculate the size of a per-instance basis</dd>
<dt>Returns:</dt>
<dd>The size, in bytes, of an instance of this class (required for iterating the heap)</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="equals(java.lang.Object)">
<h3>equals</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span>&#8203;<span class="parameters">(<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>&nbsp;obj)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><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">java.lang.Object</a></code></span></div>
<div class="block">Compares the argument to the receiver, and answers true
if they represent the <em>same</em> object using a class
specific comparison. The implementation in Object answers
true only if the argument is the exact same object as the
receiver (==).</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaClass.html#equals(java.lang.Object)">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></dd>
<dt>Overrides:</dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
<dt>Parameters:</dt>
<dd><code>obj</code> - Object
the object to compare with this object.</dd>
<dt>Returns:</dt>
<dd>boolean
<code>true</code>
if the object is the same as this object
<code>false</code>
if it is different from this object.</dd>
<dt>See Also:</dt>
<dd><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"><code>Object.hashCode()</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getHashcodeSlotSize()">
<h3>getHashcodeSlotSize</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getHashcodeSlotSize</span>()</div>
<div class="block">Returns the size of the extra slot needed for stored hashcode - if the object was moved - in JVMs built with
J9VM_OPT_NEW_OBJECT_HASH. If the hashcode could fit in spare space in the object header, this will return 0.
. *</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>object instance size delta, in bytes</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hashCode()">
<h3>hashCode</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">hashCode</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><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">java.lang.Object</a></code></span></div>
<div class="block">Answers an integer hash code for the receiver. Any two
objects which answer <code>true</code> when passed to
<code>.equals</code> must answer the same value for this
method.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaClass.html#hashCode()">hashCode</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></dd>
<dt>Overrides:</dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
<dt>Returns:</dt>
<dd>the receiver's hash.</dd>
<dt>See Also:</dt>
<dd><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"><code>Object.equals(java.lang.Object)</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="readFlagsFromInstance(com.ibm.dtfj.java.JavaObject)">
<h3>readFlagsFromInstance</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">readFlagsFromInstance</span>&#8203;<span class="parameters">(<a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a>&nbsp;instance)</span>
throws <span class="exceptions"><a href="../../image/MemoryAccessException.html" title="class in com.ibm.dtfj.image">MemoryAccessException</a>,
<a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="../../image/MemoryAccessException.html" title="class in com.ibm.dtfj.image">MemoryAccessException</a></code></dd>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addClassLoaderReference(java.util.Collection)">
<h3>addClassLoaderReference</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addClassLoaderReference</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link" target="_blank">Collection</a>&nbsp;coll)</span></div>
</section>
</li>
<li>
<section class="detail" id="addSuperclassReference(java.util.Collection)">
<h3>addSuperclassReference</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addSuperclassReference</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link" target="_blank">Collection</a>&nbsp;coll)</span></div>
</section>
</li>
<li>
<section class="detail" id="addClassObjectReference(java.util.Collection)">
<h3>addClassObjectReference</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addClassObjectReference</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link" target="_blank">Collection</a>&nbsp;coll)</span></div>
</section>
</li>
<li>
<section class="detail" id="getProtectionDomain()">
<h3>getProtectionDomain</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></span>&nbsp;<span class="element-name">getProtectionDomain</span>()
throws <span class="exceptions"><a href="../../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a>,
<a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaClass.html#getProtectionDomain()">JavaClass</a></code></span></div>
<div class="block">Returns the protection domain for this class.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaClass.html#getProtectionDomain()">getProtectionDomain</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></dd>
<dt>Returns:</dt>
<dd>the protection domain or null for the default protection domain</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></code></dd>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></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>