1 16 package org.springframework.webflow.engine.impl; 17 18 import org.springframework.webflow.core.collection.AttributeMap; 19 import org.springframework.webflow.core.collection.MutableAttributeMap; 20 import org.springframework.webflow.definition.FlowDefinition; 21 import org.springframework.webflow.definition.StateDefinition; 22 import org.springframework.webflow.execution.Event; 23 import org.springframework.webflow.execution.FlowExecutionException; 24 import org.springframework.webflow.execution.FlowExecutionListener; 25 import org.springframework.webflow.execution.FlowSession; 26 import org.springframework.webflow.execution.RequestContext; 27 import org.springframework.webflow.execution.ViewSelection; 28 29 38 class FlowExecutionListeners { 39 40 44 private FlowExecutionListener[] listeners; 45 46 50 public FlowExecutionListeners() { 51 this(null); 52 } 53 54 59 public FlowExecutionListeners(FlowExecutionListener[] listeners) { 60 if (listeners != null) { 61 this.listeners = listeners; 62 } 63 else { 64 this.listeners = new FlowExecutionListener[0]; 65 } 66 } 67 68 72 public FlowExecutionListener[] getArray() { 73 return listeners; 74 } 75 76 79 public int size() { 80 return listeners.length; 81 } 82 83 85 89 public void fireRequestSubmitted(RequestContext context) { 90 for (int i = 0; i < listeners.length; i++) { 91 listeners[i].requestSubmitted(context); 92 } 93 } 94 95 99 public void fireRequestProcessed(RequestContext context) { 100 for (int i = 0; i < listeners.length; i++) { 101 listeners[i].requestProcessed(context); 102 } 103 } 104 105 109 public void fireSessionStarting(RequestContext context, FlowDefinition flow, MutableAttributeMap input) { 110 for (int i = 0; i < listeners.length; i++) { 111 listeners[i].sessionStarting(context, flow, input); 112 } 113 } 114 115 119 public void fireSessionStarted(RequestContext context, FlowSession session) { 120 for (int i = 0; i < listeners.length; i++) { 121 listeners[i].sessionStarted(context, session); 122 } 123 } 124 125 129 public void fireEventSignaled(RequestContext context, Event event) { 130 for (int i = 0; i < listeners.length; i++) { 131 listeners[i].eventSignaled(context, event); 132 } 133 } 134 135 139 public void fireStateEntering(RequestContext context, StateDefinition nextState) { 140 for (int i = 0; i < listeners.length; i++) { 141 listeners[i].stateEntering(context, nextState); 142 } 143 } 144 145 149 public void fireStateEntered(RequestContext context, StateDefinition previousState) { 150 for (int i = 0; i < listeners.length; i++) { 151 listeners[i].stateEntered(context, previousState, context.getCurrentState()); 152 } 153 } 154 155 159 public void firePaused(RequestContext context, ViewSelection selectedView) { 160 for (int i = 0; i < listeners.length; i++) { 161 listeners[i].paused(context, selectedView); 162 } 163 } 164 165 168 public void fireResumed(RequestContext context) { 169 for (int i = 0; i < listeners.length; i++) { 170 listeners[i].resumed(context); 171 } 172 } 173 174 178 public void fireSessionEnding(RequestContext context, FlowSession session, MutableAttributeMap output) { 179 for (int i = 0; i < listeners.length; i++) { 180 listeners[i].sessionEnding(context, session, output); 181 } 182 } 183 184 187 public void fireSessionEnded(RequestContext context, FlowSession session, AttributeMap output) { 188 for (int i = 0; i < listeners.length; i++) { 189 listeners[i].sessionEnded(context, session, output); 190 } 191 } 192 193 196 public void fireExceptionThrown(RequestContext context, FlowExecutionException exception) { 197 for (int i = 0; i < listeners.length; i++) { 198 listeners[i].exceptionThrown(context, exception); 199 } 200 } 201 } | Popular Tags |