/* * Copyright 2003,2004 Colin Crist * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package hermes.impl; import hermes.Domain; import hermes.HermesAdminFactory; import hermes.HermesException; import hermes.config.DestinationConfig; import hermes.config.ProviderConfig; import hermes.config.ProviderExtConfig; import hermes.ext.ExtensionFinder; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.util.Collection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.JMSException; import javax.naming.Context; import javax.naming.NamingException; /** * @author cristco last changed by: $Author: colincrist $ * @version $Id: ConnectionFactoryManager.java,v 1.13 2005/10/21 08:37:22 colincrist Exp $ */ public interface ConnectionFactoryManager extends JMSManager { /** * Add a statically configured destination reachable via this * ConnectionFactory */ public void addDestinationConfig(DestinationConfig destConfig); public void removeDestinationConfig(DestinationConfig dConfig) ; /** * Connect. No implementation for a connection factory. */ public void connect() throws javax.jms.JMSException; public void close() throws JMSException ; /** * Get some short description of this connection factory */ public String getConnectionFactoryType(); public ConnectionFactory getConnectionFactory() throws JMSException; public DestinationConfig getDestinationConfig(String id, Domain domain); public DestinationConfig getDestinationConfig(Destination d) throws JMSException; public Collection getDestinationConfigs(); public Object getObject() throws JMSException; public void setProvider(ProviderConfig pConfig) throws InvocationTargetException, InstantiationException, IllegalAccessException, ClassNotFoundException, NoSuchMethodException, IOException ; public void setId(String id); public String getId(); /** * @return Returns the extension. */ public HermesAdminFactory getExtension(ProviderExtConfig extConfig) throws HermesException; /** * @return Returns the extensionFinder. */ public ExtensionFinder getExtensionFinder(); /** * @param extensionFinder * The extensionFinder to set. */ public void setExtensionFinder(ExtensionFinder extensionFinder); public Context createContext() throws NamingException, JMSException ; }