/*
 * JBoss, the OpenSource J2EE webOS
 *
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 */
package org.jboss.resource.connectionmanager;

/**
 * MBean interface.
 */
public interface CachedConnectionManagerMBean extends org.jboss.system.ServiceMBean
{

   //default object name
   public static final javax.management.ObjectName OBJECT_NAME = org.jboss.mx.util.ObjectNameFactory
         .create("jboss.jca:service=CachedConnectionManager");

   /**
    * Get the SpecCompliant value.
    * @return the SpecCompliant value.
    */
   boolean isSpecCompliant();

   /**
    * Set the SpecCompliant value.
    * @param specCompliant The new SpecCompliant value.
    */
   void setSpecCompliant(boolean specCompliant);

   /**
    * Get the debug value.
    * @return the debug value.
    */
   boolean isDebug();

   /**
    * Set the Debug value.
    * @param value The new debug value.
    */
   void setDebug(boolean value);

   /**
    * Get the error value.
    * 
    * @return the error value.
    */
   boolean isError();

   /**
    * Set the error value.
    * @param value The new error value.
    */
   void setError(boolean value);

   /**
    * Get the TransactionManagerServiceName value.
    * @return the TransactionManagerServiceName value.
    */
   javax.management.ObjectName getTransactionManagerServiceName();

   /**
    * Set the TransactionManagerServiceName value.
    * @param transactionManagerServiceName The new TransactionManagerServiceName value.
    */
   void setTransactionManagerServiceName(javax.management.ObjectName transactionManagerServiceName);

   /**
    * The Instance attribute simply holds the current instance, which is normally the only instance of CachedConnectionManager.
    * @return a <code>CachedConnectionManager</code> value
    */
   org.jboss.resource.connectionmanager.CachedConnectionManager getInstance();

   /**
    * Get the inuse connections
    * @return the number of inuse connections
    */
   int getInUseConnections();

   /**
    * List the inuse connections
    * @return a map of connections to allocation stack traces
    */
   java.util.Map listInUseConnections();

}
