Current File : //usr/share/lib/java/javadoc/dtrace/api/org/opensolaris/os/dtrace/Flow.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Flow</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Flow";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../org/opensolaris/os/dtrace/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Flow.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-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/opensolaris/os/dtrace/ExitRecord.html" title="class in org.opensolaris.os.dtrace"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/opensolaris/os/dtrace/Flow.Kind.html" title="enum in org.opensolaris.os.dtrace"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/opensolaris/os/dtrace/Flow.html" target="_top">Frames</a></li>
<li><a href="Flow.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.opensolaris.os.dtrace</div>
<h2 title="Class Flow" class="title">Class Flow</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.opensolaris.os.dtrace.Flow</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable</dd>
</dl>
<hr>
<br>
<pre>public final class <span class="typeNameLabel">Flow</span>
extends java.lang.Object
implements java.io.Serializable</pre>
<div class="block">Description of control flow across function boundaries including
 direction (entry or return) and depth in the call stack.  This
 information is added to <a href="../../../../org/opensolaris/os/dtrace/ProbeData.html" title="class in org.opensolaris.os.dtrace"><code>ProbeData</code></a> instances only when the
 <a href="../../../../org/opensolaris/os/dtrace/Option.html#flowindent"><code>flowindent</code></a> option is used:
 <pre><code>
     Consumer consumer = new LocalConsumer();
     consumer.open();
     consumer.setOption(Option.flowindent);
     ...
 </code></pre>
 See the <a
 href="http://docs.sun.com/app/docs/doc/817-6223/6mlkidlk1?a=view">
 <b>Examples</b></a> section of the <b><code>fbt</code>
 Provider</b> chapter of the <i>Solaris Dynamic Tracing Guide</i>.
 <p>
 Immutable.  Supports persistence using <code>XMLEncoder</code>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/opensolaris/os/dtrace/Consumer.html#setOption-java.lang.String-"><code>Consumer.setOption(String option)</code></a>, 
<a href="../../../../org/opensolaris/os/dtrace/Option.html#flowindent"><code>Option.flowindent</code></a>, 
<a href="../../../../serialized-form.html#org.opensolaris.os.dtrace.Flow">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Flow.Kind.html" title="enum in org.opensolaris.os.dtrace">Flow.Kind</a></span></code>
<div class="block">Indicates direction of flow across a boundary, such as entering
 or returing from a function.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Flow.html#Flow-java.lang.String-int-">Flow</a></span>(java.lang.String&nbsp;flowKindName,
    int&nbsp;flowDepth)</code>
<div class="block">Creates a <code>Flow</code> instance with the given flow kind and
 depth.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Flow.html#equals-java.lang.Object-">equals</a></span>(java.lang.Object&nbsp;o)</code>
<div class="block">Compares the specified object with this <code>Flow</code> instance for
 equality.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Flow.html#getDepth--">getDepth</a></span>()</code>
<div class="block">Gets the current depth in the call stack.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../org/opensolaris/os/dtrace/Flow.Kind.html" title="enum in org.opensolaris.os.dtrace">Flow.Kind</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Flow.html#getKind--">getKind</a></span>()</code>
<div class="block">Gets the direction of the flow of control (entry or return)
 across a function boundary.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Flow.html#hashCode--">hashCode</a></span>()</code>
<div class="block">Overridden to ensure that equal instances have equal hash codes.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/opensolaris/os/dtrace/Flow.html#toString--">toString</a></span>()</code>
<div class="block">Gets a string representation of this <code>Flow</code> instance useful
 for logging and not intended for display.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="Flow-java.lang.String-int-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Flow</h4>
<pre>public&nbsp;Flow(java.lang.String&nbsp;flowKindName,
            int&nbsp;flowDepth)</pre>
<div class="block">Creates a <code>Flow</code> instance with the given flow kind and
 depth.  Supports XML persistence.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>flowKindName</code> - name of enumeration value indicating the
 direction of flow</dd>
<dd><code>flowDepth</code> - current depth in the call stack</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if there is no <code>Flow.Kind</code>
 value with the given name or if the given <code>flowDepth</code> is
 negative</dd>
<dd><code>java.lang.NullPointerException</code> - if the given <code>Flow.Kind</code> name
 is <code>null</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getKind--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKind</h4>
<pre>public&nbsp;<a href="../../../../org/opensolaris/os/dtrace/Flow.Kind.html" title="enum in org.opensolaris.os.dtrace">Flow.Kind</a>&nbsp;getKind()</pre>
<div class="block">Gets the direction of the flow of control (entry or return)
 across a function boundary.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>non-null flow kind indicating direction of flow (entry or
 return) across a function boundary</dd>
</dl>
</li>
</ul>
<a name="getDepth--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDepth</h4>
<pre>public&nbsp;int&nbsp;getDepth()</pre>
<div class="block">Gets the current depth in the call stack.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A non-negative sum of the function entries minus the
 function returns up until the moment described by this control
 flow instance.  For example, if the traced flow of control
 entered two functions but only returned from one, the depth is
 one (2 entries minus 1 return).</dd>
</dl>
</li>
</ul>
<a name="equals-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(java.lang.Object&nbsp;o)</pre>
<div class="block">Compares the specified object with this <code>Flow</code> instance for
 equality.  Defines equality as having the same flow kind and
 depth.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if and only if the specified object is of
 type <code>Flow</code> and both instances have equal flow kind and
 depth.</dd>
</dl>
</li>
</ul>
<a name="hashCode--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre>public&nbsp;int&nbsp;hashCode()</pre>
<div class="block">Overridden to ensure that equal instances have equal hash codes.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>hashCode</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
<a name="toString--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<div class="block">Gets a string representation of this <code>Flow</code> instance useful
 for logging and not intended for display.  The exact details of
 the representation are unspecified and subject to change, but the
 following format may be regarded as typical:
 <pre><code>
 class-name[property1 = value1, property2 = value2]
 </code></pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../org/opensolaris/os/dtrace/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Flow.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-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/opensolaris/os/dtrace/ExitRecord.html" title="class in org.opensolaris.os.dtrace"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/opensolaris/os/dtrace/Flow.Kind.html" title="enum in org.opensolaris.os.dtrace"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/opensolaris/os/dtrace/Flow.html" target="_top">Frames</a></li>
<li><a href="Flow.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>