/*
 * 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 BaseConnectionManager2MBean 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=BaseConnectionManager");

   /**
    * The JndiName attribute holds the jndi name the ConnectionFactory will be bound under in jndi. Note that an entry of the form DefaultDS2 will be bound to java:/DefaultDS2.
    * @return the JndiName value.
    */
   java.lang.String getJndiName();

   /**
    * Set the JndiName value.
    * @param jndiName The JndiName value.
    */
   void setJndiName(java.lang.String jndiName);

   /**
    * The ManagedConnectionPool holds the ObjectName of the mbean representing the pool for this connection manager. Normally it will be an embedded mbean in a depends tag rather than an ObjectName reference to the mbean.
    * @return the ManagedConnectionPool value.
    */
   javax.management.ObjectName getManagedConnectionPool();

   /**
    * Set the ManagedConnectionPool value.
    * @param newManagedConnectionPool The new ManagedConnectionPool value.
    */
   void setManagedConnectionPool(javax.management.ObjectName newManagedConnectionPool);

   /**
    * The CachecConnectionManager holds the ObjectName of the CachedConnectionManager mbean used by this ConnectionManager. Normally this will be a depends tag with the ObjectName of the unique CachedConnectionManager for the server.
    * @param ccmName an <code>ObjectName</code> value
    */
   void setCachedConnectionManager(javax.management.ObjectName ccmName);

   /**
    * Describe <code>getCachedConnectionManager</code> method here.
    * @return an <code>ObjectName</code> value
    */
   javax.management.ObjectName getCachedConnectionManager();

   /**
    * The SecurityDomainJndiName holds the jndi name of the security domain configured for the ManagedConnectionFactory this ConnectionManager manages. It is normally of the form java:/jaas/firebirdRealm, where firebirdRealm is the name found in auth.conf or equivalent file.
    * @param securityDomainJndiName an <code>String</code> value
    */
   void setSecurityDomainJndiName(java.lang.String securityDomainJndiName);

   /**
    * Get the SecurityDomainJndiName value.
    * @return the SecurityDomainJndiName value.
    */
   java.lang.String getSecurityDomainJndiName();

   /**
    * Get the JaasSecurityManagerService value.
    * @return the JaasSecurityManagerService value.
    */
   javax.management.ObjectName getJaasSecurityManagerService();

   /**
    * Set the JaasSecurityManagerService value.
    * @param jaasSecurityManagerService The new JaasSecurityManagerService value.
    */
   void setJaasSecurityManagerService(javax.management.ObjectName jaasSecurityManagerService);

   /**
    * ManagedConnectionFactory is an internal attribute that holds the ManagedConnectionFactory instance managed by this ConnectionManager.
    * @return value of managedConnectionFactory
    */
   javax.resource.spi.ManagedConnectionFactory getManagedConnectionFactory();

   /**
    * Describe <code>getInstance</code> method here.
    * @return a <code>BaseConnectionManager2</code> value
    */
   org.jboss.resource.connectionmanager.BaseConnectionManager2 getInstance();

}
