<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>javax.resource.cci</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="javax.resource.cci";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../javax/resource/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../javax/resource/spi/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/resource/cci/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;javax.resource.cci</h1>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/resource/cci/Connection.html" title="interface in javax.resource.cci">Connection</a></td>
<td class="colLast">
<div class="block">A Connection represents an application-level handle that is used 
  by a client to access the underlying physical connection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/resource/cci/ConnectionFactory.html" title="interface in javax.resource.cci">ConnectionFactory</a></td>
<td class="colLast">
<div class="block"><code>ConnectionFactory</code> provides an interface for getting
  connection to an EIS instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/resource/cci/ConnectionMetaData.html" title="interface in javax.resource.cci">ConnectionMetaData</a></td>
<td class="colLast">
<div class="block">The interface <code>ConnectionMetaData</code> provides information 
  about an EIS instance connected through a Connection instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/resource/cci/ConnectionSpec.html" title="interface in javax.resource.cci">ConnectionSpec</a></td>
<td class="colLast">
<div class="block">ConnectionSpec is used by an application component to pass 
  connection request-specific properties to the ConnectionFactory.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/resource/cci/IndexedRecord.html" title="interface in javax.resource.cci">IndexedRecord</a></td>
<td class="colLast">
<div class="block">IndexedRecord represents an ordered collection of record elements 
  based on the <code>java.util.List</code> interface.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/resource/cci/Interaction.html" title="interface in javax.resource.cci">Interaction</a></td>
<td class="colLast">
<div class="block">The <code>javax.resource.cci.Interaction</code> enables a component to 
  execute EIS functions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/resource/cci/InteractionSpec.html" title="interface in javax.resource.cci">InteractionSpec</a></td>
<td class="colLast">
<div class="block">An InteractionSpec holds properties for driving an Interaction 
  with an EIS instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/resource/cci/LocalTransaction.html" title="interface in javax.resource.cci">LocalTransaction</a></td>
<td class="colLast">
<div class="block">The LocalTransaction defines a transaction demarcation interface for
  resource manager local transactions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/resource/cci/MappedRecord.html" title="interface in javax.resource.cci">MappedRecord</a></td>
<td class="colLast">
<div class="block">The interface <code>javax.resource.cci.MappedRecord</code> is 
  used for key-value map based representation of record elements.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/resource/cci/MessageListener.html" title="interface in javax.resource.cci">MessageListener</a></td>
<td class="colLast">
<div class="block">This serves as a request-response message listener type that message
 endpoints (message-driven beans) may implement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/resource/cci/Record.html" title="interface in javax.resource.cci">Record</a></td>
<td class="colLast">
<div class="block">The <code>javax.resource.cci.Record</code> interface is the base 
  interface for the representation of an input or output to the 
  execute methods defined on an Interaction.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/resource/cci/RecordFactory.html" title="interface in javax.resource.cci">RecordFactory</a></td>
<td class="colLast">
<div class="block">The RecordFactory interface is used for creating MappedRecord and 
  IndexedRecord instances.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/resource/cci/ResourceAdapterMetaData.html" title="interface in javax.resource.cci">ResourceAdapterMetaData</a></td>
<td class="colLast">
<div class="block">The interface <code>javax.resource.cci.ResourceAdapterMetaData</code> 
  provides information about capabilities of a resource adapter 
  implementation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/resource/cci/ResultSet.html" title="interface in javax.resource.cci">ResultSet</a></td>
<td class="colLast">
<div class="block">A ResultSet represents tabular data that is retrieved from an EIS
  instance by the execution of an Interaction..</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/resource/cci/ResultSetInfo.html" title="interface in javax.resource.cci">ResultSetInfo</a></td>
<td class="colLast">
<div class="block">The interface <code>javax.resource.cci.ResultSetInfo</code> provides
 information on the support provided for ResultSet by a connected 
 EIS instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/resource/cci/Streamable.html" title="interface in javax.resource.cci">Streamable</a></td>
<td class="colLast">
<div class="block">Streamable interface enables a resource adapter to extract data from
  an input Record or set data into an output Record as a stream of 
  bytes.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
<caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Exception</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/resource/cci/ResourceWarning.html" title="class in javax.resource.cci">ResourceWarning</a></td>
<td class="colLast">
<div class="block">A <code>ResourceWarning</code> provides information on warnings related to
 execution of an interaction with an EIS.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../javax/resource/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../javax/resource/spi/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/resource/cci/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
