blob: f06a967e80fb184bd4d74c4716f03227fc512cfa [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (16) -->
<title>JavaClass (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, interface: JavaClass">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="com.ibm.dtfj.java.JavaClass interface">
<meta name="keywords" content="MODIFIERS_UNAVAILABLE">
<meta name="keywords" content="getObject()">
<meta name="keywords" content="getClassLoader()">
<meta name="keywords" content="getName()">
<meta name="keywords" content="getSuperclass()">
<meta name="keywords" content="getInterfaces()">
<meta name="keywords" content="getModifiers()">
<meta name="keywords" content="isArray()">
<meta name="keywords" content="getComponentType()">
<meta name="keywords" content="getDeclaredFields()">
<meta name="keywords" content="getDeclaredMethods()">
<meta name="keywords" content="getConstantPoolReferences()">
<meta name="keywords" content="getID()">
<meta name="keywords" content="getReferences()">
<meta name="keywords" content="equals()">
<meta name="keywords" content="getInstanceSize()">
<meta name="keywords" content="hashCode()">
<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/JavaClass.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>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip.navbar.top">
<!-- -->
</span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../module-summary.html">openj9.dtfj</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">com.ibm.dtfj.java</a></div>
<h1 title="Interface JavaClass" class="title">Interface JavaClass</h1>
</div>
<section class="description">
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../../j9ddr/vm29/view/dtfj/java/DTFJJavaClass.html" title="class in com.ibm.j9ddr.vm29.view.dtfj.java">DTFJJavaClass</a></code>, <code><a href="j9/JavaAbstractClass.html" title="class in com.ibm.dtfj.java.j9">JavaAbstractClass</a></code>, <code><a href="j9/JavaArrayClass.html" title="class in com.ibm.dtfj.java.j9">JavaArrayClass</a></code>, <code><a href="j9/JavaClass.html" title="class in com.ibm.dtfj.java.j9">JavaClass</a></code>, <code><a href="javacore/JCJavaClass.html" title="class in com.ibm.dtfj.java.javacore">JCJavaClass</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">JavaClass</span></div>
<div class="block">Represents a Java class.</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>static int</code></div>
<div class="col-second even-row-color"><code><span class="member-name-link"><a href="#MODIFIERS_UNAVAILABLE">MODIFIERS_UNAVAILABLE</a></span></code></div>
<div class="col-last even-row-color">
<div class="block">MODIFIERS_UNAVAILABLE is returned by getModifiers() when the modifiers are unavailable.</div>
</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></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#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 method-summary-table-tab3">
<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 method-summary-table-tab3"><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 method-summary-table-tab3"><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 method-summary-table-tab3">
<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 method-summary-table-tab3"><code><a href="JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getComponentType()">getComponentType</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">For array classes, returns a JavaClass representing the component type of this array class.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/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 method-summary-table-tab3"><code><span class="member-name-link"><a href="#getConstantPoolReferences()">getConstantPoolReferences</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Java classes may refer to other classes and to String objects via
the class's constant pool.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getDeclaredFields()">getDeclaredFields</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Get the set of fields declared in this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/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 method-summary-table-tab3"><code><span class="member-name-link"><a href="#getDeclaredMethods()">getDeclaredMethods</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Get the set of methods declared in this class.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getID()">getID</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">The ID of a class is a pointer to a section of memory which identifies
the class.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>long</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getInstanceSize()">getInstanceSize</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Returns the size in bytes of an instance of this class on the heap.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getInterfaces()">getInterfaces</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Get the set of names of interfaces directly implemented by this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getModifiers()">getModifiers</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Return the Java language modifiers for this class.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/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 method-summary-table-tab3"><code><span class="member-name-link"><a href="#getName()">getName</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Get the name of the class.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><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 method-summary-table-tab3"><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 method-summary-table-tab3">
<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 method-summary-table-tab3"><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 method-summary-table-tab3"><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 method-summary-table-tab3">
<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 method-summary-table-tab3"><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 method-summary-table-tab3"><code><span class="member-name-link"><a href="#getReferences()">getReferences</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Get the set of references from this class.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><a href="JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#getSuperclass()">getSuperclass</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Get the immediate superclass of this class.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#hashCode()">hashCode</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Answers an integer hash code for the receiver.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#isArray()">isArray</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Is this an array class ?</div>
</div>
</div>
</div>
</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="MODIFIERS_UNAVAILABLE">
<h3>MODIFIERS_UNAVAILABLE</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">MODIFIERS_UNAVAILABLE</span></div>
<div class="block">MODIFIERS_UNAVAILABLE is returned by getModifiers() when the modifiers are unavailable.
The value 0xff000000 is chosen as it is a value that can never return true to any of the java.reflect.Modifier methods
that test the modifier: isNative(), isPublic(), etc. while at the same time not being 0 which is a possible value
when no modifier at all is present i.e. "default".
All other values for the modifier returned are defined in java.lang.reflect.Modifiers</div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/reflect/Modifier.html" title="class or interface in java.lang.reflect" class="external-link" target="_blank"><code>Modifier</code></a>,
<a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaClass.MODIFIERS_UNAVAILABLE">Constant Field Values</a></dd>
</dl>
</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="getObject()">
<h3>getObject</h3>
<div class="member-signature"><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">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>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="#getID()"><code>getID()</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getClassLoader()">
<h3>getClassLoader</h3>
<div class="member-signature"><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">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>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="getName()">
<h3>getName</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a></span>&nbsp;<span class="element-name">getName</span>()
throws <span class="exceptions"><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block">Get the name of the class.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the name of the class in the form: "full/package/class$innerclass"</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="getSuperclass()">
<h3>getSuperclass</h3>
<div class="member-signature"><span class="return-type"><a href="JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></span>&nbsp;<span class="element-name">getSuperclass</span>()
throws <span class="exceptions"><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block">Get the immediate superclass of this class.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the immediate superclass of this class, or null if this
class has no superclass. For interfaces, Object, primitive types
and void null is always returned.</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="getInterfaces()">
<h3>getInterfaces</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/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">Get the set of names of interfaces directly implemented by this class.</div>
<dl class="notes">
<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="getModifiers()">
<h3>getModifiers</h3>
<div class="member-signature"><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">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>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="isArray()">
<h3>isArray</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isArray</span>()
throws <span class="exceptions"><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block">Is this an array class ?</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if this class is an array 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="getComponentType()">
<h3>getComponentType</h3>
<div class="member-signature"><span class="return-type"><a href="JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></span>&nbsp;<span class="element-name">getComponentType</span>()
throws <span class="exceptions"><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block">For array classes, returns a JavaClass representing the component type of this array class.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a JavaClass representing the component type of this array class</dd>
<dt>Throws:</dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link" target="_blank">IllegalArgumentException</a></code> - if this JavaClass does not represent an array class</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDeclaredFields()">
<h3>getDeclaredFields</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getDeclaredFields</span>()</div>
<div class="block">Get the set of fields declared in this class.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an iterator over the collection of fields declared
in this class.</dd>
<dt>See Also:</dt>
<dd><a href="JavaField.html" title="interface in com.ibm.dtfj.java"><code>JavaField</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="getDeclaredMethods()">
<h3>getDeclaredMethods</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getDeclaredMethods</span>()</div>
<div class="block">Get the set of methods declared in this class.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an iterator over the collection of methods declared
in this class.</dd>
<dt>See Also:</dt>
<dd><a href="JavaMethod.html" title="interface in com.ibm.dtfj.java"><code>JavaMethod</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="getConstantPoolReferences()">
<h3>getConstantPoolReferences</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getConstantPoolReferences</span>()</div>
<div class="block">Java classes may refer to other classes and to String objects via
the class's constant pool. These references are followed by the
garbage collector, forming edges on the graph of reachable objects.
This getConstantPoolReferences() may be used to determine which
objects are referred to by the receiver's constant pool.
<p>
Although Java VMs typically permit only Class and String
objects in the constant pool, some esoteric or future virtual
machines may permit other types of objects to occur in the constant
pool. This API imposes no restrictions on the types of JavaObjects
which might be included in the Iterator.
<p>
No assumption should be made about the order in which constant
pool references are returned.
<p>
Classes may also refer to objects through static variables.
These may be found with the getDeclaredFields() API. Objects
referenced by static variables are not returned by
getConstantPoolReferences() unless the object is also referenced
by the constant pool.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an iterator over the collection of JavaObjects which
are referred to by the constant pool of this class</dd>
<dt>See Also:</dt>
<dd><a href="JavaObject.html" title="interface in com.ibm.dtfj.java"><code>JavaObject</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="getID()">
<h3>getID</h3>
<div class="member-signature"><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">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>Returns:</dt>
<dd>a pointer to the class</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getReferences()">
<h3>getReferences</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getReferences</span>()</div>
<div class="block">Get the set of references from this class.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an iterator of JavaReferences</dd>
<dt>See Also:</dt>
<dd><a href="JavaReference.html" title="interface in com.ibm.dtfj.java"><code>JavaReference</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="equals(java.lang.Object)">
<h3>equals</h3>
<div class="member-signature"><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>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> - </dd>
<dt>Returns:</dt>
<dd>True if the given object refers to the same Java Class in the image</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="getInstanceSize()">
<h3>getInstanceSize</h3>
<div class="member-signature"><span class="return-type">long</span>&nbsp;<span class="element-name">getInstanceSize</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">Returns the size in bytes of an instance of this class on the heap.
<p>
The call is only meaningful for a non-array JavaClass, where all instances of the
class are of the same size. If this method is called on a JavaArrayClass, where instances
can be of different sizes, an UnsupportedOperationException will be thrown.
DataUnavailable can be thrown if no value is available: for example when
DTFJ is examining a javacore, where the instance size for a class is not recorded.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>size in bytes of an instance</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>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang" class="external-link" target="_blank">UnsupportedOperationException</a></code> - if the JavaClass is an instance of JavaArrayClass</dd>
<dt>Since:</dt>
<dd>1.6</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hashCode()">
<h3>hashCode</h3>
<div class="member-signature"><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>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="getProtectionDomain()">
<h3>getProtectionDomain</h3>
<div class="member-signature"><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">Returns the protection domain for this class.</div>
<dl class="notes">
<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>
<dt>Since:</dt>
<dd>1.9</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>