01: /*
02: * $Id: MuleContextBuilder.java 11371 2008-03-15 03:12:09Z tcarlson $
03: * --------------------------------------------------------------------------------------
04: * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com
05: *
06: * The software in this package is published under the terms of the CPAL v1.0
07: * license, a copy of which has been included with this distribution in the
08: * LICENSE.txt file.
09: */
10:
11: package org.mule.api.context;
12:
13: import org.mule.api.MuleContext;
14: import org.mule.api.config.MuleConfiguration;
15: import org.mule.api.lifecycle.LifecycleManager;
16: import org.mule.context.notification.ServerNotificationManager;
17:
18: import javax.resource.spi.work.WorkListener;
19:
20: /**
21: * Builder that is used to build instances of {@link MuleContext}. Implementing
22: * classes are stateful and should provide public chainable setters for configuring
23: * the builder instance and no public getters.
24: */
25: public interface MuleContextBuilder {
26: /**
27: * Builds a new {@link MuleContext} instance using configured builder instance.
28: * Does not initialise or start MuleContext, only constructs the instance.
29: *
30: * @return
31: */
32: MuleContext buildMuleContext();
33:
34: void setWorkManager(WorkManager workManager);
35:
36: void setWorkListener(WorkListener workListener);
37:
38: void setNotificationManager(
39: ServerNotificationManager notificationManager);
40:
41: void setLifecycleManager(LifecycleManager lifecycleManager);
42:
43: void setMuleConfiguration(MuleConfiguration muleConfiguration);
44: }
|