001 package com.mockrunner.mock.jms;
002
003 import com.mockrunner.jms.ConfigurationManager;
004 import com.mockrunner.jms.DestinationManager;
005
006 /**
007 * Used to create all types of JMS mock objects.
008 * Maintains the necessary dependencies between the mock objects.
009 * If you use the mock objects returned by this
010 * factory in your tests you can be sure, they are all
011 * up to date. If you are using JNDI for obtaining the
012 * factories you have to bind them to the mock context
013 * with {@link com.mockrunner.ejb.EJBTestModule#bindToContext}.
014 */
015 public class JMSMockObjectFactory
016 {
017 private DestinationManager destinationManager;
018 private ConfigurationManager configurationManager;
019 private MockQueueConnectionFactory queueConnectionFactory;
020 private MockTopicConnectionFactory topicConnectionFactory;
021 private MockConnectionFactory connectionFactory;
022
023 /**
024 * Creates a new set of mock objects.
025 */
026 public JMSMockObjectFactory()
027 {
028 destinationManager = new DestinationManager();
029 configurationManager = new ConfigurationManager();
030 queueConnectionFactory = new MockQueueConnectionFactory(destinationManager, configurationManager);
031 topicConnectionFactory = new MockTopicConnectionFactory(destinationManager, configurationManager);
032 connectionFactory = new MockConnectionFactory(destinationManager, configurationManager);
033 }
034
035 /**
036 * Returns the {@link com.mockrunner.jms.ConfigurationManager}.
037 * @return the {@link com.mockrunner.jms.ConfigurationManager}
038 */
039 public ConfigurationManager getConfigurationManager()
040 {
041 return configurationManager;
042 }
043
044 /**
045 * Returns the {@link com.mockrunner.jms.DestinationManager}.
046 * @return the {@link com.mockrunner.jms.DestinationManager}
047 */
048 public DestinationManager getDestinationManager()
049 {
050 return destinationManager;
051 }
052
053 /**
054 * Returns the {@link com.mockrunner.mock.jms.MockQueueConnectionFactory}.
055 * @return the {@link com.mockrunner.mock.jms.MockQueueConnectionFactory}
056 */
057 public MockQueueConnectionFactory getMockQueueConnectionFactory()
058 {
059 return queueConnectionFactory;
060 }
061
062 /**
063 * Returns the {@link com.mockrunner.mock.jms.MockTopicConnectionFactory}.
064 * @return the {@link com.mockrunner.mock.jms.MockTopicConnectionFactory}
065 */
066 public MockTopicConnectionFactory getMockTopicConnectionFactory()
067 {
068 return topicConnectionFactory;
069 }
070
071 /**
072 * Returns the {@link com.mockrunner.mock.jms.MockConnectionFactory}.
073 * @return the {@link com.mockrunner.mock.jms.MockConnectionFactory}
074 */
075 public MockConnectionFactory getMockConnectionFactory()
076 {
077 return connectionFactory;
078 }
079 }