/*
 * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 */
package javax.sql;
import java.sql.*;
/**
 * An object that provides support for distributed
 * transactions.  An XAConnection object  may be enlisted
 * in a distributed transaction by means of an XAResource object.
 * A transaction manager, usually part of a middle tier server, manages an
 * XAConnection object through the XAResource object.
 * 
 * An application programmer does not use this interface directly; rather,
 * it is used by a transaction manager working in the middle tier server.
 *
 * @since 1.4
 */
public interface XAConnection extends PooledConnection {
  /**
   * Retrieves an XAResource object that
   * the transaction manager will use
   * to manage this XAConnection object's participation in a
   * distributed transaction.
   *
   * @return the XAResource object
   * @exception SQLException if a database access error occurs
   * @exception SQLFeatureNotSupportedException if the JDBC driver does not support
   * this method
   * @since 1.4
   */
  javax.transaction.xa.XAResource getXAResource() throws SQLException;
 }