<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>ProtonTransactionController (Qpid ProtonJ2 Parent 1.0.0-M18 API)</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: package: org.apache.qpid.protonj2.engine.impl, class: ProtonTransactionController">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.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";
</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>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/ProtonTransactionController.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</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="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.qpid.protonj2.engine.impl</a></div>
<h1 title="Class ProtonTransactionController" class="title">Class ProtonTransactionController</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="ProtonEndpoint.html" title="class in org.apache.qpid.protonj2.engine.impl">org.apache.qpid.protonj2.engine.impl.ProtonEndpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;
<div class="inheritance">org.apache.qpid.protonj2.engine.impl.ProtonTransactionController</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code>, <code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ProtonTransactionController</span>
<span class="extends-implements">extends <a href="ProtonEndpoint.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonEndpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;
implements <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span></div>
<div class="block"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> implementation that implements the abstraction
 around a sender link that initiates requests to <a href="../../types/transactions/Declare.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Declare</code></a> and to
 <a href="../../types/transactions/Discharge.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Discharge</code></a> AMQP <a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine"><code>Transaction</code></a> instance.</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="inherited-list">
<h3 id="fields-inherited-from-class-org.apache.qpid.protonj2.engine.impl.ProtonEndpoint">Fields inherited from class&nbsp;org.apache.qpid.protonj2.engine.impl.<a href="ProtonEndpoint.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonEndpoint</a></h3>
<code><a href="ProtonEndpoint.html#engine">engine</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.qpid.protonj2.engine.impl.ProtonSender)" class="member-name-link">ProtonTransactionController</a><wbr>(<a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a>&nbsp;senderLink)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a new <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> instance that wraps the given <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> link.</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-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ProtonTransactionController.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonTransactionController</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addCapacityAvailableHandler(org.apache.qpid.protonj2.engine.EventHandler)" class="member-name-link">addCapacityAvailableHandler</a><wbr>(<a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&nbsp;handler)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Allows the caller to add an <a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> that will be signaled when the underlying
 link for this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> has been granted credit which would then allow for
 transaction <a href="../../types/transactions/Declared.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Declared</code></a> and <a href="../../types/transactions/Discharge.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Discharge</code></a> commands to be sent to the remote Transactional
 Resource.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#close()" class="member-name-link">close</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Close the end point locally and send the closing performative immediately if possible or
 holds it until the Connection / Engine state allows it.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#declare()" class="member-name-link">declare</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Request that the remote <a href="../TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionManager</code></a> declare a new transaction and
 respond with a new transaction Id for that transaction.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#declare(org.apache.qpid.protonj2.engine.Transaction)" class="member-name-link">declare</a><wbr>(<a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&nbsp;transaction)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Request that the remote <a href="../TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionManager</code></a> declare a new transaction and
 respond with a new transaction Id for that transaction.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#declaredHandler(org.apache.qpid.protonj2.engine.EventHandler)" class="member-name-link">declaredHandler</a><wbr>(<a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&gt;&nbsp;declaredEventHandler)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Called when the <a href="../TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionManager</code></a> end of the link has responded to a previous
 <a href="../../types/transactions/Declare.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Declare</code></a> request and the transaction can now be used to enroll deliveries into the
 active transaction.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#declareFailureHandler(org.apache.qpid.protonj2.engine.EventHandler)" class="member-name-link">declareFailureHandler</a><wbr>(<a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&gt;&nbsp;declareFailureEventHandler)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Called when the <a href="../TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionManager</code></a> end of the link responds to a <a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine"><code>Transaction</code></a> declaration
 with an <a href="../../types/messaging/Rejected.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Rejected</code></a> outcome indicating that the transaction could not be successfully declared.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#discharge(org.apache.qpid.protonj2.engine.Transaction,boolean)" class="member-name-link">discharge</a><wbr>(<a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&nbsp;transaction,
 boolean&nbsp;failed)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Request that the remote <a href="../TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionManager</code></a> discharge the given transaction and
 with the specified failure state (true for failed).</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#dischargedHandler(org.apache.qpid.protonj2.engine.EventHandler)" class="member-name-link">dischargedHandler</a><wbr>(<a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&gt;&nbsp;dischargedEventHandler)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Called when the <a href="../TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionManager</code></a> end of the link has responded to a previous
 <a href="../TransactionController.html#discharge(org.apache.qpid.protonj2.engine.Transaction,boolean)"><code>TransactionController.discharge(Transaction, boolean)</code></a> request and the transaction has
 been retired.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#dischargeFailureHandler(org.apache.qpid.protonj2.engine.EventHandler)" class="member-name-link">dischargeFailureHandler</a><wbr>(<a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&gt;&nbsp;dischargeFailureEventHandler)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Called when the <a href="../TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionManager</code></a> end of the link has responded to a previous
 <a href="../TransactionController.html#discharge(org.apache.qpid.protonj2.engine.Transaction,boolean)"><code>TransactionController.discharge(Transaction, boolean)</code></a> request and the transaction discharge
 failed for some reason.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/transport/ErrorCondition.html" title="class in org.apache.qpid.protonj2.types.transport">ErrorCondition</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getCondition()" class="member-name-link">getCondition</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions">Coordinator</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getCoordinator()" class="member-name-link">getCoordinator</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the currently set Coordinator target for this <a href="../Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDesiredCapabilities()" class="member-name-link">getDesiredCapabilities</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getOfferedCapabilities()" class="member-name-link">getOfferedCapabilities</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ProtonSession.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSession</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getParent()" class="member-name-link">getParent</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the parent of this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> which can be itself for <a href="../Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> instance.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getProperties()" class="member-name-link">getProperties</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/transport/ErrorCondition.html" title="class in org.apache.qpid.protonj2.types.transport">ErrorCondition</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRemoteCondition()" class="member-name-link">getRemoteCondition</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">If the remote has closed this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> and provided an <a href="../../types/transport/ErrorCondition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>ErrorCondition</code></a> as part
 of the closing AMQP performative then this method will return it.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions">Coordinator</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRemoteCoordinator()" class="member-name-link">getRemoteCoordinator</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the remote target <a href="../../types/messaging/Terminus.html" title="interface in org.apache.qpid.protonj2.types.messaging"><code>Terminus</code></a> for this transaction controller which must be of type
 <a href="../../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Coordinator</code></a> or null if remote did not set a terminus.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRemoteDesiredCapabilities()" class="member-name-link">getRemoteDesiredCapabilities</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRemoteOfferedCapabilities()" class="member-name-link">getRemoteOfferedCapabilities</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRemoteProperties()" class="member-name-link">getRemoteProperties</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging">Source</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRemoteSource()" class="member-name-link">getRemoteSource</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging">Source</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSource()" class="member-name-link">getSource</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasCapacity()" class="member-name-link">hasCapacity</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns <code>true</code> if the <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> has capacity to send or buffer
 and <a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine"><code>Transaction</code></a> command to <a href="../../types/transactions/Declare.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Declare</code></a> or <a href="../../types/transactions/Discharge.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Discharge</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isLocallyClosed()" class="member-name-link">isLocallyClosed</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns true if this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is currently locally closed meaning that a call to the
 <a href="../Endpoint.html#close()"><code>Endpoint.close()</code></a> method has occurred.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isLocallyOpen()" class="member-name-link">isLocallyOpen</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns true if this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is currently locally open meaning that the <a href="../Endpoint.html#open()"><code>Endpoint.open()</code></a>
 has been called but the <a href="../Endpoint.html#close()"><code>Endpoint.close()</code></a> has not.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isRemotelyClosed()" class="member-name-link">isRemotelyClosed</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns true if this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is currently remotely closed meaning that the AMQP performative
 that completes the close phase of this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a>'s lifetime has arrived.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isRemotelyOpen()" class="member-name-link">isRemotelyOpen</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns true if this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is currently remotely open meaning that the AMQP performative
 that completes the open phase of this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a>'s lifetime has arrived but the performative
 that closes it has not.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.qpid.protonj2.engine.impl.ProtonTransactionController.ProtonControllerTransaction</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newTransaction()" class="member-name-link">newTransaction</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates a new <a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine"><code>Transaction</code></a> instances that is returned in the <a href="../TransactionState.html#IDLE"><code>TransactionState.IDLE</code></a> state
 which can be populated with application specific attachments or assigned a linked resource prior to calling
 the</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#open()" class="member-name-link">open</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Open the end point locally, sending the Open performative immediately if possible or holding
 it until SASL negotiations or the AMQP header exchange and other required performative exchanges
 has completed.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#parentEndpointClosedHandler(org.apache.qpid.protonj2.engine.EventHandler)" class="member-name-link">parentEndpointClosedHandler</a><wbr>(<a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&nbsp;handler)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets a <a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> for when the parent <a href="../Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> or <a href="../Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> of this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a>
 is locally closed.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setCondition(org.apache.qpid.protonj2.types.transport.ErrorCondition)" class="member-name-link">setCondition</a><wbr>(<a href="../../types/transport/ErrorCondition.html" title="class in org.apache.qpid.protonj2.types.transport">ErrorCondition</a>&nbsp;condition)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the local <a href="../../types/transport/ErrorCondition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>ErrorCondition</code></a> to be applied to a <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> close.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setCoordinator(org.apache.qpid.protonj2.types.transactions.Coordinator)" class="member-name-link">setCoordinator</a><wbr>(<a href="../../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions">Coordinator</a>&nbsp;coordinator)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the <a href="../../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Coordinator</code></a> target to assign to the local end of this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setDesiredCapabilities(org.apache.qpid.protonj2.types.Symbol...)" class="member-name-link">setDesiredCapabilities</a><wbr>(<a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>...&nbsp;desiredCapabilities)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the capabilities that are desired from the remote when this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is
 opened.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setOfferedCapabilities(org.apache.qpid.protonj2.types.Symbol...)" class="member-name-link">setOfferedCapabilities</a><wbr>(<a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>...&nbsp;offeredCapabilities)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the capabilities to be offered on to the remote when this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is
 opened.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setProperties(java.util.Map)" class="member-name-link">setProperties</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&gt;&nbsp;properties)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the properties to be sent to the remote when this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is Opened.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setSource(org.apache.qpid.protonj2.types.messaging.Source)" class="member-name-link">setSource</a><wbr>(<a href="../../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging">Source</a>&nbsp;source)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the <a href="../../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Source</code></a> to assign to the local end of this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#transactions()" class="member-name-link">transactions</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a list of <a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine"><code>Transaction</code></a> objects that are active within this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> which
 have not reached a terminal state meaning they have not been successfully discharged and have not failed in
 either the <a href="../../types/transactions/Declare.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Declare</code></a> phase or the <a href="../../types/transactions/Discharge.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Discharge</code></a> phase.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.qpid.protonj2.engine.impl.ProtonEndpoint">Methods inherited from class&nbsp;org.apache.qpid.protonj2.engine.impl.<a href="ProtonEndpoint.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonEndpoint</a></h3>
<code><a href="ProtonEndpoint.html#closeHandler(org.apache.qpid.protonj2.engine.EventHandler)">closeHandler</a>, <a href="ProtonEndpoint.html#engineShutdownHandler(org.apache.qpid.protonj2.engine.EventHandler)">engineShutdownHandler</a>, <a href="ProtonEndpoint.html#getAttachments()">getAttachments</a>, <a href="ProtonEndpoint.html#getEngine()">getEngine</a>, <a href="ProtonEndpoint.html#getLinkedResource()">getLinkedResource</a>, <a href="ProtonEndpoint.html#getLinkedResource(java.lang.Class)">getLinkedResource</a>, <a href="ProtonEndpoint.html#localCloseHandler(org.apache.qpid.protonj2.engine.EventHandler)">localCloseHandler</a>, <a href="ProtonEndpoint.html#localOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">localOpenHandler</a>, <a href="ProtonEndpoint.html#openHandler(org.apache.qpid.protonj2.engine.EventHandler)">openHandler</a>, <a href="ProtonEndpoint.html#setLinkedResource(java.lang.Object)">setLinkedResource</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.qpid.protonj2.engine.Endpoint">Methods inherited from interface&nbsp;org.apache.qpid.protonj2.engine.<a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a></h3>
<code><a href="../Endpoint.html#closeHandler(org.apache.qpid.protonj2.engine.EventHandler)">closeHandler</a>, <a href="../Endpoint.html#engineShutdownHandler(org.apache.qpid.protonj2.engine.EventHandler)">engineShutdownHandler</a>, <a href="../Endpoint.html#getAttachments()">getAttachments</a>, <a href="../Endpoint.html#getEngine()">getEngine</a>, <a href="../Endpoint.html#getLinkedResource()">getLinkedResource</a>, <a href="../Endpoint.html#getLinkedResource(java.lang.Class)">getLinkedResource</a>, <a href="../Endpoint.html#localCloseHandler(org.apache.qpid.protonj2.engine.EventHandler)">localCloseHandler</a>, <a href="../Endpoint.html#localOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">localOpenHandler</a>, <a href="../Endpoint.html#openHandler(org.apache.qpid.protonj2.engine.EventHandler)">openHandler</a>, <a href="../Endpoint.html#setLinkedResource(java.lang.Object)">setLinkedResource</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(org.apache.qpid.protonj2.engine.impl.ProtonSender)">
<h3>ProtonTransactionController</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ProtonTransactionController</span><wbr><span class="parameters">(<a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a>&nbsp;senderLink)</span></div>
<div class="block">Creates a new <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> instance that wraps the given <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> link.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>senderLink</code> - The <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> that this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> wraps.</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="getParent()">
<h3>getParent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ProtonSession.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSession</a></span>&nbsp;<span class="element-name">getParent</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../Endpoint.html#getParent()">Endpoint</a></code></span></div>
<div class="block">Gets the parent of this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> which can be itself for <a href="../Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> instance.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#getParent()">getParent</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the parent of this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> or itself if this is a <a href="../Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a>;</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hasCapacity()">
<h3>hasCapacity</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasCapacity</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#hasCapacity()">TransactionController</a></code></span></div>
<div class="block">Returns <code>true</code> if the <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> has capacity to send or buffer
 and <a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine"><code>Transaction</code></a> command to <a href="../../types/transactions/Declare.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Declare</code></a> or <a href="../../types/transactions/Discharge.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Discharge</code></a>.  If no capacity then
 a call to <a href="../TransactionController.html#declare()"><code>TransactionController.declare()</code></a> or to
 <a href="../TransactionController.html#discharge(org.apache.qpid.protonj2.engine.Transaction,boolean)"><code>TransactionController.discharge(Transaction, boolean)</code></a> would throw an exception.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#hasCapacity()">hasCapacity</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Returns:</dt>
<dd>true if the controller will allow declaring or discharging a transaction at this time.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addCapacityAvailableHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<h3>addCapacityAvailableHandler</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ProtonTransactionController.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonTransactionController</a></span>&nbsp;<span class="element-name">addCapacityAvailableHandler</span><wbr><span class="parameters">(<a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&nbsp;handler)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#addCapacityAvailableHandler(org.apache.qpid.protonj2.engine.EventHandler)">TransactionController</a></code></span></div>
<div class="block">Allows the caller to add an <a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> that will be signaled when the underlying
 link for this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> has been granted credit which would then allow for
 transaction <a href="../../types/transactions/Declared.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Declared</code></a> and <a href="../../types/transactions/Discharge.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Discharge</code></a> commands to be sent to the remote Transactional
 Resource.

 If the controller already has credit to send then the handler will be invoked immediately otherwise
 it will be stored until credit becomes available.  Once a handler is signaled it is no longer retained
 for future updates and the caller will need to register it again once more transactional work is to be
 completed.  Because more than one handler can be added at a time the caller should check again before
 attempting to perform a transaction <a href="../../types/transactions/Declared.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Declared</code></a> or <a href="../../types/transactions/Discharge.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Discharge</code></a> is performed as other tasks
 might have already consumed credit if work is done via some asynchronous mechanism.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#addCapacityAvailableHandler(org.apache.qpid.protonj2.engine.EventHandler)">addCapacityAvailableHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Parameters:</dt>
<dd><code>handler</code> - The <a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> that will be signaled once credit is available for transaction work.</dd>
<dt>Returns:</dt>
<dd>this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="transactions()">
<h3>transactions</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&gt;</span>&nbsp;<span class="element-name">transactions</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#transactions()">TransactionController</a></code></span></div>
<div class="block">Returns a list of <a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine"><code>Transaction</code></a> objects that are active within this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> which
 have not reached a terminal state meaning they have not been successfully discharged and have not failed in
 either the <a href="../../types/transactions/Declare.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Declare</code></a> phase or the <a href="../../types/transactions/Discharge.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Discharge</code></a> phase.  If there are no transactions active within
 this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> this method returns an empty <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link"><code>Collection</code></a>.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#transactions()">transactions</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Returns:</dt>
<dd>a list of Transactions that are allocated to this controller that have not reached a terminal state.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="newTransaction()">
<h3>newTransaction</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.qpid.protonj2.engine.impl.ProtonTransactionController.ProtonControllerTransaction</span>&nbsp;<span class="element-name">newTransaction</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#newTransaction()">TransactionController</a></code></span></div>
<div class="block">Creates a new <a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine"><code>Transaction</code></a> instances that is returned in the <a href="../TransactionState.html#IDLE"><code>TransactionState.IDLE</code></a> state
 which can be populated with application specific attachments or assigned a linked resource prior to calling
 the</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#newTransaction()">newTransaction</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Returns:</dt>
<dd>a new <a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine"><code>Transaction</code></a> instance that can be correlated with later declared events.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="declare()">
<h3>declare</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</span>&nbsp;<span class="element-name">declare</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#declare()">TransactionController</a></code></span></div>
<div class="block">Request that the remote <a href="../TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionManager</code></a> declare a new transaction and
 respond with a new transaction Id for that transaction.  Upon successful declaration of
 a new transaction the remote will respond and the <a href="../TransactionController.html#declaredHandler(org.apache.qpid.protonj2.engine.EventHandler)"><code>TransactionController.declaredHandler(EventHandler)</code></a>
 event handler will be signaled.

 This is a convenience method that is the same as first calling <a href="../TransactionController.html#newTransaction()"><code>TransactionController.newTransaction()</code></a>
 and then passing the result of that to the <a href="../TransactionController.html#declare(org.apache.qpid.protonj2.engine.Transaction)"><code>TransactionController.declare(Transaction)</code></a> method.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#declare()">declare</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Returns:</dt>
<dd>a new <a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine"><code>Transaction</code></a> instance that can be correlated with later declared events.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="declare(org.apache.qpid.protonj2.engine.Transaction)">
<h3>declare</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">declare</span><wbr><span class="parameters">(<a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&nbsp;transaction)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#declare(org.apache.qpid.protonj2.engine.Transaction)">TransactionController</a></code></span></div>
<div class="block">Request that the remote <a href="../TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionManager</code></a> declare a new transaction and
 respond with a new transaction Id for that transaction.  Upon successful declaration of
 a new transaction the remote will respond and the <a href="../TransactionController.html#declaredHandler(org.apache.qpid.protonj2.engine.EventHandler)"><code>TransactionController.declaredHandler(EventHandler)</code></a>
 event handler will be signaled.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#declare(org.apache.qpid.protonj2.engine.Transaction)">declare</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Parameters:</dt>
<dd><code>transaction</code> - The <a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine"><code>Transaction</code></a> that is will be associated with the eventual declared transaction.</dd>
<dt>Returns:</dt>
<dd>this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="discharge(org.apache.qpid.protonj2.engine.Transaction,boolean)">
<h3>discharge</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">discharge</span><wbr><span class="parameters">(<a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&nbsp;transaction,
 boolean&nbsp;failed)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#discharge(org.apache.qpid.protonj2.engine.Transaction,boolean)">TransactionController</a></code></span></div>
<div class="block">Request that the remote <a href="../TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionManager</code></a> discharge the given transaction and
 with the specified failure state (true for failed).  Upon successful declaration of
 a new transaction the remote will respond and the <a href="../TransactionController.html#declaredHandler(org.apache.qpid.protonj2.engine.EventHandler)"><code>TransactionController.declaredHandler(EventHandler)</code></a>
 event handler will be signaled.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#discharge(org.apache.qpid.protonj2.engine.Transaction,boolean)">discharge</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Parameters:</dt>
<dd><code>transaction</code> - The <a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine"><code>Transaction</code></a> that is being discharged.</dd>
<dd><code>failed</code> - boolean value indicating the the discharge indicates the transaction failed (rolled back).</dd>
<dt>Returns:</dt>
<dd>this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="declaredHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<h3>declaredHandler</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">declaredHandler</span><wbr><span class="parameters">(<a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&gt;&nbsp;declaredEventHandler)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#declaredHandler(org.apache.qpid.protonj2.engine.EventHandler)">TransactionController</a></code></span></div>
<div class="block">Called when the <a href="../TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionManager</code></a> end of the link has responded to a previous
 <a href="../../types/transactions/Declare.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Declare</code></a> request and the transaction can now be used to enroll deliveries into the
 active transaction.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#declaredHandler(org.apache.qpid.protonj2.engine.EventHandler)">declaredHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Parameters:</dt>
<dd><code>declaredEventHandler</code> - An <a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> that will act on the transaction declaration request.</dd>
<dt>Returns:</dt>
<dd>this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="declareFailureHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<h3>declareFailureHandler</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">declareFailureHandler</span><wbr><span class="parameters">(<a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&gt;&nbsp;declareFailureEventHandler)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#declareFailureHandler(org.apache.qpid.protonj2.engine.EventHandler)">TransactionController</a></code></span></div>
<div class="block">Called when the <a href="../TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionManager</code></a> end of the link responds to a <a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine"><code>Transaction</code></a> declaration
 with an <a href="../../types/messaging/Rejected.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Rejected</code></a> outcome indicating that the transaction could not be successfully declared.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#declareFailureHandler(org.apache.qpid.protonj2.engine.EventHandler)">declareFailureHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Parameters:</dt>
<dd><code>declareFailureEventHandler</code> - An <a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> that will be called when a previous transaction declaration fails.</dd>
<dt>Returns:</dt>
<dd>this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="dischargedHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<h3>dischargedHandler</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">dischargedHandler</span><wbr><span class="parameters">(<a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&gt;&nbsp;dischargedEventHandler)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#dischargedHandler(org.apache.qpid.protonj2.engine.EventHandler)">TransactionController</a></code></span></div>
<div class="block">Called when the <a href="../TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionManager</code></a> end of the link has responded to a previous
 <a href="../TransactionController.html#discharge(org.apache.qpid.protonj2.engine.Transaction,boolean)"><code>TransactionController.discharge(Transaction, boolean)</code></a> request and the transaction has
 been retired.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#dischargedHandler(org.apache.qpid.protonj2.engine.EventHandler)">dischargedHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Parameters:</dt>
<dd><code>dischargedEventHandler</code> - An <a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> that will act on the transaction discharge request.</dd>
<dt>Returns:</dt>
<dd>this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="dischargeFailureHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<h3>dischargeFailureHandler</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">dischargeFailureHandler</span><wbr><span class="parameters">(<a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../Transaction.html" title="interface in org.apache.qpid.protonj2.engine">Transaction</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&gt;&nbsp;dischargeFailureEventHandler)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#dischargeFailureHandler(org.apache.qpid.protonj2.engine.EventHandler)">TransactionController</a></code></span></div>
<div class="block">Called when the <a href="../TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionManager</code></a> end of the link has responded to a previous
 <a href="../TransactionController.html#discharge(org.apache.qpid.protonj2.engine.Transaction,boolean)"><code>TransactionController.discharge(Transaction, boolean)</code></a> request and the transaction discharge
 failed for some reason.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#dischargeFailureHandler(org.apache.qpid.protonj2.engine.EventHandler)">dischargeFailureHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Parameters:</dt>
<dd><code>dischargeFailureEventHandler</code> - An <a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> that will act on the transaction discharge failed event.</dd>
<dt>Returns:</dt>
<dd>this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="parentEndpointClosedHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<h3>parentEndpointClosedHandler</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">parentEndpointClosedHandler</span><wbr><span class="parameters">(<a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;&nbsp;handler)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#parentEndpointClosedHandler(org.apache.qpid.protonj2.engine.EventHandler)">TransactionController</a></code></span></div>
<div class="block">Sets a <a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> for when the parent <a href="../Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> or <a href="../Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> of this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a>
 is locally closed.

 Typically used by clients for logging or other state update event processing.  Clients should not perform any
 blocking calls within this context.  It is an error for the handler to throw an exception and the outcome of
 doing so is undefined.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#parentEndpointClosedHandler(org.apache.qpid.protonj2.engine.EventHandler)">parentEndpointClosedHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Parameters:</dt>
<dd><code>handler</code> - The <a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> to notify when this transaction controller's parent endpoint is locally closed.</dd>
<dt>Returns:</dt>
<dd>the link for chaining.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="open()">
<h3>open</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">open</span>()
                           throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a>,
<a href="../exceptions/EngineStateException.html" title="class in org.apache.qpid.protonj2.engine.exceptions">EngineStateException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../Endpoint.html#open()">Endpoint</a></code></span></div>
<div class="block">Open the end point locally, sending the Open performative immediately if possible or holding
 it until SASL negotiations or the AMQP header exchange and other required performative exchanges
 has completed.

 The end point will signal any registered handler of the remote opening the Connection
 once the remote performative that signals open completion arrives.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#open()">open</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="../exceptions/EngineStateException.html" title="class in org.apache.qpid.protonj2.engine.exceptions">EngineStateException</a></code> - if an error occurs opening the Connection or the Engine is shutdown.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="close()">
<h3>close</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">close</span>()
                            throws <span class="exceptions"><a href="../exceptions/EngineFailedException.html" title="class in org.apache.qpid.protonj2.engine.exceptions">EngineFailedException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../Endpoint.html#close()">Endpoint</a></code></span></div>
<div class="block">Close the end point locally and send the closing performative immediately if possible or
 holds it until the Connection / Engine state allows it.  If the engine encounters an error writing
 the performative or the engine is in a failed state from a previous error then this method will
 throw an exception.  If the engine has been shutdown then this method will close out the local
 end of the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> and clean up any local resources before returning normally.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#close()">close</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="../exceptions/EngineFailedException.html" title="class in org.apache.qpid.protonj2.engine.exceptions">EngineFailedException</a></code> - if an error occurs closing the end point or the Engine is in a failed state.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isLocallyOpen()">
<h3>isLocallyOpen</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isLocallyOpen</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../Endpoint.html#isLocallyOpen()">Endpoint</a></code></span></div>
<div class="block">Returns true if this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is currently locally open meaning that the <a href="../Endpoint.html#open()"><code>Endpoint.open()</code></a>
 has been called but the <a href="../Endpoint.html#close()"><code>Endpoint.close()</code></a> has not.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#isLocallyOpen()">isLocallyOpen</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is locally open.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../Endpoint.html#isLocallyClosed()"><code>Endpoint.isLocallyClosed()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isLocallyClosed()">
<h3>isLocallyClosed</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isLocallyClosed</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../Endpoint.html#isLocallyClosed()">Endpoint</a></code></span></div>
<div class="block">Returns true if this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is currently locally closed meaning that a call to the
 <a href="../Endpoint.html#close()"><code>Endpoint.close()</code></a> method has occurred.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#isLocallyClosed()">isLocallyClosed</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is locally closed.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../Endpoint.html#isLocallyOpen()"><code>Endpoint.isLocallyOpen()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setSource(org.apache.qpid.protonj2.types.messaging.Source)">
<h3>setSource</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">setSource</span><wbr><span class="parameters">(<a href="../../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging">Source</a>&nbsp;source)</span>
                                throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#setSource(org.apache.qpid.protonj2.types.messaging.Source)">TransactionController</a></code></span></div>
<div class="block">Sets the <a href="../../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Source</code></a> to assign to the local end of this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a>.

 Must be called during setup, i.e. before calling the <a href="../Endpoint.html#open()"><code>Endpoint.open()</code></a> method.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#setSource(org.apache.qpid.protonj2.types.messaging.Source)">setSource</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Parameters:</dt>
<dd><code>source</code> - The <a href="../../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Source</code></a> that will be set on the local end of this transaction controller.</dd>
<dt>Returns:</dt>
<dd>this transaction controller instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if the <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> has already been opened.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSource()">
<h3>getSource</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging">Source</a></span>&nbsp;<span class="element-name">getSource</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#getSource()">getSource</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Returns:</dt>
<dd>the <a href="../../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Source</code></a> for the local end of this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setCoordinator(org.apache.qpid.protonj2.types.transactions.Coordinator)">
<h3>setCoordinator</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">setCoordinator</span><wbr><span class="parameters">(<a href="../../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions">Coordinator</a>&nbsp;coordinator)</span>
                                     throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#setCoordinator(org.apache.qpid.protonj2.types.transactions.Coordinator)">TransactionController</a></code></span></div>
<div class="block">Sets the <a href="../../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Coordinator</code></a> target to assign to the local end of this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a>.

 Must be called during setup, i.e. before calling the <a href="../Endpoint.html#open()"><code>Endpoint.open()</code></a> method.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#setCoordinator(org.apache.qpid.protonj2.types.transactions.Coordinator)">setCoordinator</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Parameters:</dt>
<dd><code>coordinator</code> - The <a href="../../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Coordinator</code></a> target that will be set on the local end of this transaction controller.</dd>
<dt>Returns:</dt>
<dd>this transaction controller instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if the <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> has already been opened.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCoordinator()">
<h3>getCoordinator</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions">Coordinator</a></span>&nbsp;<span class="element-name">getCoordinator</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#getCoordinator()">TransactionController</a></code></span></div>
<div class="block">Returns the currently set Coordinator target for this <a href="../Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a>.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#getCoordinator()">getCoordinator</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Returns:</dt>
<dd>the link target <a href="../../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Coordinator</code></a> for the local end of this link.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCondition()">
<h3>getCondition</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../types/transport/ErrorCondition.html" title="class in org.apache.qpid.protonj2.types.transport">ErrorCondition</a></span>&nbsp;<span class="element-name">getCondition</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#getCondition()">getCondition</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Overrides:</dt>
<dd><code><a href="ProtonEndpoint.html#getCondition()">getCondition</a></code>&nbsp;in class&nbsp;<code><a href="ProtonEndpoint.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonEndpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the local <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> error, or null if there is none</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setCondition(org.apache.qpid.protonj2.types.transport.ErrorCondition)">
<h3>setCondition</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">setCondition</span><wbr><span class="parameters">(<a href="../../types/transport/ErrorCondition.html" title="class in org.apache.qpid.protonj2.types.transport">ErrorCondition</a>&nbsp;condition)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../Endpoint.html#setCondition(org.apache.qpid.protonj2.types.transport.ErrorCondition)">Endpoint</a></code></span></div>
<div class="block">Sets the local <a href="../../types/transport/ErrorCondition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>ErrorCondition</code></a> to be applied to a <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> close.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#setCondition(org.apache.qpid.protonj2.types.transport.ErrorCondition)">setCondition</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Overrides:</dt>
<dd><code><a href="ProtonEndpoint.html#setCondition(org.apache.qpid.protonj2.types.transport.ErrorCondition)">setCondition</a></code>&nbsp;in class&nbsp;<code><a href="ProtonEndpoint.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonEndpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>condition</code> - The error condition to convey to the remote peer on close of this end point.</dd>
<dt>Returns:</dt>
<dd>this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getProperties()">
<h3>getProperties</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&gt;</span>&nbsp;<span class="element-name">getProperties</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#getProperties()">getProperties</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the configured properties sent to the remote when this Connection is opened.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setProperties(java.util.Map)">
<h3>setProperties</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">setProperties</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&gt;&nbsp;properties)</span>
                                    throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../Endpoint.html#setProperties(java.util.Map)">Endpoint</a></code></span></div>
<div class="block">Sets the properties to be sent to the remote when this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is Opened.

 The <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> properties value can only be modified prior to a call to <a href="../Endpoint.html#open()"><code>Endpoint.open()</code></a>,
 once the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> has been opened locally an error will be thrown if this method
 is called.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#setProperties(java.util.Map)">setProperties</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>properties</code> - The properties that will be sent to the remote when this Connection is opened.</dd>
<dt>Returns:</dt>
<dd>this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> has already been opened.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setOfferedCapabilities(org.apache.qpid.protonj2.types.Symbol...)">
<h3>setOfferedCapabilities</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">setOfferedCapabilities</span><wbr><span class="parameters">(<a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>...&nbsp;offeredCapabilities)</span>
                                             throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../Endpoint.html#setOfferedCapabilities(org.apache.qpid.protonj2.types.Symbol...)">Endpoint</a></code></span></div>
<div class="block">Sets the capabilities to be offered on to the remote when this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is
 opened.

 The offered capabilities value can only be modified prior to a call to <a href="../Endpoint.html#open()"><code>Endpoint.open()</code></a>,
 once the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> has been opened locally an error will be thrown if this method
 is called.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#setOfferedCapabilities(org.apache.qpid.protonj2.types.Symbol...)">setOfferedCapabilities</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>offeredCapabilities</code> - The capabilities to be offered to the remote when the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is opened.</dd>
<dt>Returns:</dt>
<dd>this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> has already been opened.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getOfferedCapabilities()">
<h3>getOfferedCapabilities</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>[]</span>&nbsp;<span class="element-name">getOfferedCapabilities</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#getOfferedCapabilities()">getOfferedCapabilities</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the configured capabilities that are offered to the remote when the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is opened.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setDesiredCapabilities(org.apache.qpid.protonj2.types.Symbol...)">
<h3>setDesiredCapabilities</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">setDesiredCapabilities</span><wbr><span class="parameters">(<a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>...&nbsp;desiredCapabilities)</span>
                                             throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../Endpoint.html#setDesiredCapabilities(org.apache.qpid.protonj2.types.Symbol...)">Endpoint</a></code></span></div>
<div class="block">Sets the capabilities that are desired from the remote when this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is
 opened.

 The desired capabilities value can only be modified prior to a call to <a href="../Endpoint.html#open()"><code>Endpoint.open()</code></a>,
 once the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> has been opened locally an error will be thrown if this method
 is called.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#setDesiredCapabilities(org.apache.qpid.protonj2.types.Symbol...)">setDesiredCapabilities</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>desiredCapabilities</code> - The capabilities desired from the remote when the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is opened.</dd>
<dt>Returns:</dt>
<dd>this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> has already been opened.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDesiredCapabilities()">
<h3>getDesiredCapabilities</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>[]</span>&nbsp;<span class="element-name">getDesiredCapabilities</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#getDesiredCapabilities()">getDesiredCapabilities</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the configured desired capabilities that are sent to the remote when the Connection is opened.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isRemotelyOpen()">
<h3>isRemotelyOpen</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isRemotelyOpen</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../Endpoint.html#isRemotelyOpen()">Endpoint</a></code></span></div>
<div class="block">Returns true if this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is currently remotely open meaning that the AMQP performative
 that completes the open phase of this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a>'s lifetime has arrived but the performative
 that closes it has not.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#isRemotelyOpen()">isRemotelyOpen</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is remotely open.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../Endpoint.html#isRemotelyClosed()"><code>Endpoint.isRemotelyClosed()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isRemotelyClosed()">
<h3>isRemotelyClosed</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isRemotelyClosed</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../Endpoint.html#isRemotelyClosed()">Endpoint</a></code></span></div>
<div class="block">Returns true if this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is currently remotely closed meaning that the AMQP performative
 that completes the close phase of this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a>'s lifetime has arrived.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#isRemotelyClosed()">isRemotelyClosed</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> is remotely closed.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../Endpoint.html#isRemotelyOpen()"><code>Endpoint.isRemotelyOpen()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRemoteOfferedCapabilities()">
<h3>getRemoteOfferedCapabilities</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>[]</span>&nbsp;<span class="element-name">getRemoteOfferedCapabilities</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#getRemoteOfferedCapabilities()">getRemoteOfferedCapabilities</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the capabilities offered by the remote when it opened its end of the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRemoteDesiredCapabilities()">
<h3>getRemoteDesiredCapabilities</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>[]</span>&nbsp;<span class="element-name">getRemoteDesiredCapabilities</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#getRemoteDesiredCapabilities()">getRemoteDesiredCapabilities</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the capabilities desired by the remote when it opened its end of the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRemoteProperties()">
<h3>getRemoteProperties</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="../../types/Symbol.html" title="class in org.apache.qpid.protonj2.types">Symbol</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&gt;</span>&nbsp;<span class="element-name">getRemoteProperties</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#getRemoteProperties()">getRemoteProperties</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the properties sent by the remote when it opened its end of the <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRemoteCondition()">
<h3>getRemoteCondition</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../types/transport/ErrorCondition.html" title="class in org.apache.qpid.protonj2.types.transport">ErrorCondition</a></span>&nbsp;<span class="element-name">getRemoteCondition</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../Endpoint.html#getRemoteCondition()">Endpoint</a></code></span></div>
<div class="block">If the remote has closed this <a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> and provided an <a href="../../types/transport/ErrorCondition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>ErrorCondition</code></a> as part
 of the closing AMQP performative then this method will return it.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../Endpoint.html#getRemoteCondition()">getRemoteCondition</a></code>&nbsp;in interface&nbsp;<code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Overrides:</dt>
<dd><code><a href="ProtonEndpoint.html#getRemoteCondition()">getRemoteCondition</a></code>&nbsp;in class&nbsp;<code><a href="ProtonEndpoint.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonEndpoint</a>&lt;<a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the remote supplied <a href="../../types/transport/ErrorCondition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>ErrorCondition</code></a>, or null if there is none.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRemoteSource()">
<h3>getRemoteSource</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging">Source</a></span>&nbsp;<span class="element-name">getRemoteSource</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#getRemoteSource()">getRemoteSource</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Returns:</dt>
<dd>the source <a href="../../types/messaging/Source.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Source</code></a> for the remote end of this <a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRemoteCoordinator()">
<h3>getRemoteCoordinator</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions">Coordinator</a></span>&nbsp;<span class="element-name">getRemoteCoordinator</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../TransactionController.html#getRemoteCoordinator()">TransactionController</a></code></span></div>
<div class="block">Returns the remote target <a href="../../types/messaging/Terminus.html" title="interface in org.apache.qpid.protonj2.types.messaging"><code>Terminus</code></a> for this transaction controller which must be of type
 <a href="../../types/transactions/Coordinator.html" title="class in org.apache.qpid.protonj2.types.transactions"><code>Coordinator</code></a> or null if remote did not set a terminus.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../TransactionController.html#getRemoteCoordinator()">getRemoteCoordinator</a></code>&nbsp;in interface&nbsp;<code><a href="../TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></dd>
<dt>Returns:</dt>
<dd>the remote coordinator <a href="../../types/messaging/Terminus.html" title="interface in org.apache.qpid.protonj2.types.messaging"><code>Terminus</code></a> for the remote end of this link.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>
