1
2
3
4
5
6
7 package org.mule.lifecycle;
8
9 import org.mule.api.lifecycle.Disposable;
10 import org.mule.api.lifecycle.Initialisable;
11 import org.mule.api.lifecycle.LifecycleManager;
12 import org.mule.api.lifecycle.LifecycleState;
13 import org.mule.api.lifecycle.Startable;
14 import org.mule.api.lifecycle.Stoppable;
15
16
17
18
19 public class DefaultLifecycleState implements LifecycleState
20 {
21 private LifecycleManager lifecycleManager;
22
23 DefaultLifecycleState(LifecycleManager lifecycleManager)
24 {
25 this.lifecycleManager = lifecycleManager;
26 }
27
28 public boolean isInitialised()
29 {
30 return lifecycleManager.isPhaseComplete(Initialisable.PHASE_NAME);
31 }
32
33 public boolean isInitialising()
34 {
35 return Initialisable.PHASE_NAME.equals(lifecycleManager.getExecutingPhase());
36 }
37
38 public boolean isStarted()
39 {
40 return Startable.PHASE_NAME.equals(lifecycleManager.getCurrentPhase());
41 }
42
43 public boolean isStarting()
44 {
45 return Startable.PHASE_NAME.equals(lifecycleManager.getExecutingPhase());
46 }
47
48 public boolean isStopped()
49 {
50 return Stoppable.PHASE_NAME.equals(lifecycleManager.getCurrentPhase());
51 }
52
53 public boolean isStopping()
54 {
55 return Stoppable.PHASE_NAME.equals(lifecycleManager.getExecutingPhase());
56 }
57
58 public boolean isDisposed()
59 {
60 return lifecycleManager.isPhaseComplete(Disposable.PHASE_NAME);
61 }
62
63 public boolean isDisposing()
64 {
65 return Disposable.PHASE_NAME.equals(lifecycleManager.getExecutingPhase());
66 }
67
68 public boolean isPhaseComplete(String phase)
69 {
70 return lifecycleManager.isPhaseComplete(phase);
71 }
72
73 public boolean isPhaseExecuting(String phase)
74 {
75 String executingPhase = lifecycleManager.getExecutingPhase();
76 if(executingPhase!=null)
77 {
78 return executingPhase.equals(phase);
79 }
80 return false;
81 }
82
83 public boolean isValidTransition(String phase)
84 {
85 return lifecycleManager.isDirectTransition(phase);
86 }
87 }