blob: 3dcf6a5490867ddb8fd1903b0fff25240be2bf3a [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>JavaClass (OpenJ9 JDK 11)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<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="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="JavaClass (OpenJ9 JDK 11)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/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 class="aboutLanguage"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 11</strong></div></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><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="subNavList">
<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>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="moduleLabelInType">Module</span>&nbsp;<a href="../../../../module-summary.html">openj9.dtfj</a></div>
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.ibm.dtfj.java</a></div>
<h2 title="Interface JavaClass" class="title">Interface JavaClass</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><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>
<pre>public interface <span class="typeNameLabel">JavaClass</span></pre>
<div class="block">Represents a Java class.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MODIFIERS_UNAVAILABLE">MODIFIERS_UNAVAILABLE</a></span></code></th>
<td class="colLast">
<div class="block">MODIFIERS_UNAVAILABLE is returned by getModifiers() when the modifiers are unavailable.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Object</a>&nbsp;obj)</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="JavaClassLoader.html" title="interface in com.ibm.dtfj.java">JavaClassLoader</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getClassLoader()">getClassLoader</a></span>()</code></th>
<td class="colLast">
<div class="block">Fetch the class loader associated with this class.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getComponentType()">getComponentType</a></span>()</code></th>
<td class="colLast">
<div class="block">For array classes, returns a JavaClass representing the component type of this array class.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConstantPoolReferences()">getConstantPoolReferences</a></span>()</code></th>
<td class="colLast">
<div class="block">Java classes may refer to other classes and to String objects via
the class's constant pool.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDeclaredFields()">getDeclaredFields</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the set of fields declared in this class.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDeclaredMethods()">getDeclaredMethods</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the set of methods declared in this class.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getID()">getID</a></span>()</code></th>
<td class="colLast">
<div class="block">The ID of a class is a pointer to a section of memory which identifies
the class.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInstanceSize()">getInstanceSize</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the size in bytes of an instance of this class on the heap.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInterfaces()">getInterfaces</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the set of names of interfaces directly implemented by this class.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getModifiers()">getModifiers</a></span>()</code></th>
<td class="colLast">
<div class="block">Return the Java language modifiers for this class.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the name of the class.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getObject()">getObject</a></span>()</code></th>
<td class="colLast">
<div class="block">Fetch the java.lang.Class object associated with this class.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProtectionDomain()">getProtectionDomain</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the protection domain for this class.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getReferences()">getReferences</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the set of references from this class.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSuperclass()">getSuperclass</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the immediate superclass of this class.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
<td class="colLast">
<div class="block">Answers an integer hash code for the receiver.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isArray()">isArray</a></span>()</code></th>
<td class="colLast">
<div class="block">Is this an array class ?</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="MODIFIERS_UNAVAILABLE">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MODIFIERS_UNAVAILABLE</h4>
<pre>static final&nbsp;int MODIFIERS_UNAVAILABLE</pre>
<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>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/reflect/Modifier.html?is-external=true" title="class or interface in java.lang.reflect" class="externalLink" target="_blank"><code>Modifier</code></a>,
<a href="../../../../../constant-values.html#com.ibm.dtfj.java.JavaClass.MODIFIERS_UNAVAILABLE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getObject()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObject</h4>
<pre class="methodSignature"><a href="JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a>&nbsp;getObject()
throws <a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the java.lang.Class object associated with this class</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getID()"><code>getID()</code></a></dd>
</dl>
</li>
</ul>
<a id="getClassLoader()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassLoader</h4>
<pre class="methodSignature"><a href="JavaClassLoader.html" title="interface in com.ibm.dtfj.java">JavaClassLoader</a>&nbsp;getClassLoader()
throws <a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the JavaClassLoader in which this class was defined</dd>
<dt><span class="throwsLabel">Throws:</span></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>
</li>
</ul>
<a id="getName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">String</a>&nbsp;getName()
throws <a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></pre>
<div class="block">Get the name of the class.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the name of the class in the form: "full/package/class$innerclass"</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</li>
</ul>
<a id="getSuperclass()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSuperclass</h4>
<pre class="methodSignature"><a href="JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a>&nbsp;getSuperclass()
throws <a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></pre>
<div class="block">Get the immediate superclass of this class.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></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><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</li>
</ul>
<a id="getInterfaces()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInterfaces</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a>&nbsp;getInterfaces()</pre>
<div class="block">Get the set of names of interfaces directly implemented by this class.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></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><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" 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>
</li>
</ul>
<a id="getModifiers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getModifiers</h4>
<pre class="methodSignature">int&nbsp;getModifiers()
throws <a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the modifiers for this class</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</li>
</ul>
<a id="isArray()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isArray</h4>
<pre class="methodSignature">boolean&nbsp;isArray()
throws <a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></pre>
<div class="block">Is this an array class ?</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this class is an array class</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</li>
</ul>
<a id="getComponentType()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getComponentType</h4>
<pre class="methodSignature"><a href="JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a>&nbsp;getComponentType()
throws <a href="../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></pre>
<div class="block">For array classes, returns a JavaClass representing the component type of this array class.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a JavaClass representing the component type of this array class</dd>
<dt><span class="throwsLabel">Throws:</span></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/11/docs/api/java.base/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">IllegalArgumentException</a></code> - if this JavaClass does not represent an array class</dd>
</dl>
</li>
</ul>
<a id="getDeclaredFields()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDeclaredFields</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a>&nbsp;getDeclaredFields()</pre>
<div class="block">Get the set of fields declared in this class.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an iterator over the collection of fields declared
in this class.</dd>
<dt><span class="seeLabel">See Also:</span></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>
</li>
</ul>
<a id="getDeclaredMethods()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDeclaredMethods</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a>&nbsp;getDeclaredMethods()</pre>
<div class="block">Get the set of methods declared in this class.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an iterator over the collection of methods declared
in this class.</dd>
<dt><span class="seeLabel">See Also:</span></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>
</li>
</ul>
<a id="getConstantPoolReferences()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConstantPoolReferences</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a>&nbsp;getConstantPoolReferences()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an iterator over the collection of JavaObjects which
are referred to by the constant pool of this class</dd>
<dt><span class="seeLabel">See Also:</span></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>
</li>
</ul>
<a id="getID()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getID</h4>
<pre class="methodSignature"><a href="../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;getID()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a pointer to the class</dd>
</dl>
</li>
</ul>
<a id="getReferences()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReferences</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a>&nbsp;getReferences()</pre>
<div class="block">Get the set of references from this class.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an iterator of JavaReferences</dd>
<dt><span class="seeLabel">See Also:</span></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>
</li>
</ul>
<a id="equals(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">boolean&nbsp;equals&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Object</a>&nbsp;obj)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink" 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>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink" target="_blank">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Object</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>obj</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the given object refers to the same Java Class in the image</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink" target="_blank"><code>Object.hashCode()</code></a></dd>
</dl>
</li>
</ul>
<a id="getInstanceSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstanceSize</h4>
<pre class="methodSignature">long&nbsp;getInstanceSize()
throws <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></pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>size in bytes of an instance</dd>
<dt><span class="throwsLabel">Throws:</span></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/11/docs/api/java.base/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">UnsupportedOperationException</a></code> - if the JavaClass is an instance of JavaArrayClass</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6</dd>
</dl>
</li>
</ul>
<a id="hashCode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre class="methodSignature">int&nbsp;hashCode()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink" 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>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink" target="_blank">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Object</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the receiver's hash.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink" target="_blank"><code>Object.equals(java.lang.Object)</code></a></dd>
</dl>
</li>
</ul>
<a id="getProtectionDomain()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getProtectionDomain</h4>
<pre class="methodSignature"><a href="JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a>&nbsp;getProtectionDomain()
throws <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></pre>
<div class="block">Returns the protection domain for this class.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the protection domain or null for the default protection domain</dd>
<dt><span class="throwsLabel">Throws:</span></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><span class="simpleTagLabel">Since:</span></dt>
<dd>1.9</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/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 class="aboutLanguage"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 11</strong></div></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><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="subNavList">
<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>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small><a href="https://www.eclipse.org/openj9/" target="_blank">Eclipse OpenJ9 website.</a><br> To raise a bug report or suggest an improvement create an <a href="https://github.com/eclipse/openj9/issues" target="_blank">Eclipse Openj9 issue.</a><br> Copyright &copy; 1998, 2020, IBM Corp. and others.</small></p>
</footer>
</body>
</html>