<!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 (1.8.0_101) on Mon Sep 19 16:59:31 EDT 2022 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.uddi.repl_v3.ChangeRecordPublisherAssertion (jUDDI_v3 Parent 3.3.11-SNAPSHOT API)</title>
<meta name="date" content="2022-09-19">
<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="Uses of Class org.uddi.repl_v3.ChangeRecordPublisherAssertion (jUDDI_v3 Parent 3.3.11-SNAPSHOT API)";
        }
    }
    catch(err) {
    }
//-->
</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="../../../../overview-summary.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">Class</a></li>
<li class="navBarCell1Rev">Use</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/uddi/repl_v3/class-use/ChangeRecordPublisherAssertion.html" target="_top">Frames</a></li>
<li><a href="ChangeRecordPublisherAssertion.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>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class org.uddi.repl_v3.ChangeRecordPublisherAssertion" class="title">Uses of Class<br>org.uddi.repl_v3.ChangeRecordPublisherAssertion</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
<caption><span>Packages that use <a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">ChangeRecordPublisherAssertion</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="#org.uddi.repl_v3">org.uddi.repl_v3</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList"><a name="org.uddi.repl_v3">
<!--   -->
</a>
<h3>Uses of <a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">ChangeRecordPublisherAssertion</a> in <a href="../../../../org/uddi/repl_v3/package-summary.html">org.uddi.repl_v3</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
<caption><span>Fields in <a href="../../../../org/uddi/repl_v3/package-summary.html">org.uddi.repl_v3</a> declared as <a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">ChangeRecordPublisherAssertion</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">ChangeRecordPublisherAssertion</a></code></td>
<td class="colLast"><span class="typeNameLabel">ChangeRecord.</span><code><span class="memberNameLink"><a href="../../../../org/uddi/repl_v3/ChangeRecord.html#changeRecordPublisherAssertion">changeRecordPublisherAssertion</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">ChangeRecordPublisherAssertion</a></code></td>
<td class="colLast"><span class="typeNameLabel">ChangeRecord.</span><code><span class="memberNameLink"><a href="../../../../org/uddi/repl_v3/ChangeRecord.html#changeRecordPublisherAssertion">changeRecordPublisherAssertion</a></span></code>&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../org/uddi/repl_v3/package-summary.html">org.uddi.repl_v3</a> that return <a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">ChangeRecordPublisherAssertion</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">ChangeRecordPublisherAssertion</a></code></td>
<td class="colLast"><span class="typeNameLabel">ObjectFactory.</span><code><span class="memberNameLink"><a href="../../../../org/uddi/repl_v3/ObjectFactory.html#createChangeRecordPublisherAssertion--">createChangeRecordPublisherAssertion</a></span>()</code>
<div class="block">Create an instance of <a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3"><code>ChangeRecordPublisherAssertion</code></a></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">ChangeRecordPublisherAssertion</a></code></td>
<td class="colLast"><span class="typeNameLabel">ObjectFactory.</span><code><span class="memberNameLink"><a href="../../../../org/uddi/repl_v3/ObjectFactory.html#createChangeRecordPublisherAssertion--">createChangeRecordPublisherAssertion</a></span>()</code>
<div class="block">Create an instance of <a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3"><code>ChangeRecordPublisherAssertion</code></a></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">ChangeRecordPublisherAssertion</a></code></td>
<td class="colLast"><span class="typeNameLabel">ChangeRecord.</span><code><span class="memberNameLink"><a href="../../../../org/uddi/repl_v3/ChangeRecord.html#getChangeRecordPublisherAssertion--">getChangeRecordPublisherAssertion</a></span>()</code>
<div class="block">Gets the value of the changeRecordPublisherAssertion property.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">ChangeRecordPublisherAssertion</a></code></td>
<td class="colLast"><span class="typeNameLabel">ChangeRecord.</span><code><span class="memberNameLink"><a href="../../../../org/uddi/repl_v3/ChangeRecord.html#getChangeRecordPublisherAssertion--">getChangeRecordPublisherAssertion</a></span>()</code>
<div class="block">Gets the value of the changeRecordPublisherAssertion property.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../org/uddi/repl_v3/package-summary.html">org.uddi.repl_v3</a> with parameters of type <a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">ChangeRecordPublisherAssertion</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">ChangeRecord.</span><code><span class="memberNameLink"><a href="../../../../org/uddi/repl_v3/ChangeRecord.html#setChangeRecordPublisherAssertion-org.uddi.repl_v3.ChangeRecordPublisherAssertion-">setChangeRecordPublisherAssertion</a></span>(<a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">ChangeRecordPublisherAssertion</a>&nbsp;value)</code>
<div class="block">Sets the value of the changeRecordPublisherAssertion property.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">ChangeRecord.</span><code><span class="memberNameLink"><a href="../../../../org/uddi/repl_v3/ChangeRecord.html#setChangeRecordPublisherAssertion-org.uddi.repl_v3.ChangeRecordPublisherAssertion-">setChangeRecordPublisherAssertion</a></span>(<a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">ChangeRecordPublisherAssertion</a>&nbsp;value)</code>
<div class="block">Sets the value of the changeRecordPublisherAssertion property.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</li>
</ul>
</div>
<!-- ======= 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="../../../../overview-summary.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../../../../org/uddi/repl_v3/ChangeRecordPublisherAssertion.html" title="class in org.uddi.repl_v3">Class</a></li>
<li class="navBarCell1Rev">Use</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/uddi/repl_v3/class-use/ChangeRecordPublisherAssertion.html" target="_top">Frames</a></li>
<li><a href="ChangeRecordPublisherAssertion.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>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
