1
2
3
4
5
6
7
8
9
10
11 package org.mule.providers;
12
13 import org.mule.umo.UMOException;
14 import org.mule.umo.endpoint.UMOImmutableEndpoint;
15 import org.mule.umo.provider.UMOMessageDispatcher;
16 import org.mule.umo.provider.UMOMessageDispatcherFactory;
17 import org.mule.util.ClassUtils;
18
19
20
21
22
23
24
25
26 public abstract class AbstractMessageDispatcherFactory implements UMOMessageDispatcherFactory
27 {
28
29 public AbstractMessageDispatcherFactory()
30 {
31 super();
32 }
33
34
35
36
37
38
39
40
41
42 public boolean isCreateDispatcherPerRequest()
43 {
44 return false;
45 }
46
47 public abstract UMOMessageDispatcher create(UMOImmutableEndpoint endpoint) throws UMOException;
48
49 public void activate(UMOImmutableEndpoint endpoint, UMOMessageDispatcher dispatcher) throws UMOException
50 {
51 dispatcher.activate();
52 }
53
54 public void destroy(UMOImmutableEndpoint endpoint, UMOMessageDispatcher dispatcher)
55 {
56 dispatcher.dispose();
57 }
58
59 public void passivate(UMOImmutableEndpoint endpoint, UMOMessageDispatcher dispatcher)
60 {
61 dispatcher.passivate();
62 }
63
64 public boolean validate(UMOImmutableEndpoint endpoint, UMOMessageDispatcher dispatcher)
65 {
66
67
68
69 return (this.isCreateDispatcherPerRequest() ? false : dispatcher.validate());
70 }
71
72
73 public String toString()
74 {
75 final StringBuffer sb = new StringBuffer(60);
76 sb.append(ClassUtils.getSimpleName(this.getClass()));
77 sb.append("{this=").append(Integer.toHexString(System.identityHashCode(this)));
78 sb.append(", createDispatcherPerRequest=").append(this.isCreateDispatcherPerRequest());
79 sb.append('}');
80 return sb.toString();
81 }
82
83 }