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