Source Code Cross Referenced for RequestControlContext.java in  » Workflow-Engines » spring-webflow-1.0.4 » org » springframework » webflow » engine » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Workflow Engines » spring webflow 1.0.4 » org.springframework.webflow.engine 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


001:        /*
002:         * Copyright 2004-2007 the original author or authors.
003:         *
004:         * Licensed under the Apache License, Version 2.0 (the "License");
005:         * you may not use this file except in compliance with the License.
006:         * You may obtain a copy of the License at
007:         *
008:         *      http://www.apache.org/licenses/LICENSE-2.0
009:         *
010:         * Unless required by applicable law or agreed to in writing, software
011:         * distributed under the License is distributed on an "AS IS" BASIS,
012:         * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013:         * See the License for the specific language governing permissions and
014:         * limitations under the License.
015:         */
016:        package org.springframework.webflow.engine;
017:
018:        import org.springframework.webflow.core.collection.MutableAttributeMap;
019:        import org.springframework.webflow.execution.Event;
020:        import org.springframework.webflow.execution.FlowExecutionContext;
021:        import org.springframework.webflow.execution.FlowExecutionException;
022:        import org.springframework.webflow.execution.FlowSession;
023:        import org.springframework.webflow.execution.RequestContext;
024:        import org.springframework.webflow.execution.ViewSelection;
025:
026:        /**
027:         * Mutable control interface used to manipulate an ongoing flow execution in the
028:         * context of one client request. Primarily used internally by the various flow
029:         * artifacts when they are invoked.
030:         * <p>
031:         * This interface acts as a facade for core definition constructs such as the
032:         * central <code>Flow</code> and <code>State</code> classes, abstracting
033:         * away details about the runtime execution machine defined in the
034:         * {@link org.springframework.webflow.engine.impl execution engine implementation}
035:         * package.
036:         * <p>
037:         * Note this type is not the same as the {@link FlowExecutionContext}. Objects
038:         * of this type are <i>request specific</i>: they provide a control interface
039:         * for manipulating exactly one flow execution locally from exactly one request.
040:         * A <code>FlowExecutionContext</code> provides information about a single
041:         * flow execution (conversation), and it's scope is not local to a specific
042:         * request (or thread).
043:         * 
044:         * @see org.springframework.webflow.engine.Flow
045:         * @see org.springframework.webflow.engine.State
046:         * @see org.springframework.webflow.execution.FlowExecution
047:         * @see FlowExecutionContext
048:         * 
049:         * @author Keith Donald
050:         * @author Erwin Vervaet
051:         */
052:        public interface RequestControlContext extends RequestContext {
053:
054:            /**
055:             * Record the last event signaled in the executing flow. This method will be
056:             * called as part of signaling an event in a flow to indicate the
057:             * 'lastEvent' that was signaled.
058:             * @param lastEvent the last event signaled
059:             * @see Flow#onEvent(RequestControlContext)
060:             */
061:            public void setLastEvent(Event lastEvent);
062:
063:            /**
064:             * Record the last transition that executed in the executing flow. This
065:             * method will be called as part of executing a transition from one state to
066:             * another.
067:             * @param lastTransition the last transition that executed
068:             * @see Transition#execute(State, RequestControlContext)
069:             */
070:            public void setLastTransition(Transition lastTransition);
071:
072:            /**
073:             * Record the current state that has entered in the executing flow. This
074:             * method will be called as part of entering a new state by the State type
075:             * itself.
076:             * @param state the current state
077:             * @see State#enter(RequestControlContext)
078:             */
079:            public void setCurrentState(State state);
080:
081:            /**
082:             * Spawn a new flow session and activate it in the currently executing flow.
083:             * Also transitions the spawned flow to its start state. This method should
084:             * be called by clients that wish to spawn new flows, such as subflow
085:             * states.
086:             * <p>
087:             * This will start a new flow session in the current flow execution, which
088:             * is already active.
089:             * @param flow the flow to start, its <code>start()</code> method will be
090:             * called
091:             * @param input initial contents of the newly created flow session (may be
092:             * <code>null</code>, e.g. empty)
093:             * @return the selected starting view, which returns control to the client
094:             * and requests that a view be rendered with model data
095:             * @throws FlowExecutionException if an exception was thrown within a state
096:             * of the flow during execution of this start operation
097:             * @see Flow#start(RequestControlContext, MutableAttributeMap)
098:             */
099:            public ViewSelection start(Flow flow, MutableAttributeMap input)
100:                    throws FlowExecutionException;
101:
102:            /**
103:             * Signals the occurence of an event in the current state of this flow
104:             * execution request context. This method should be called by clients that
105:             * report internal event occurences, such as action states. The
106:             * <code>onEvent()</code> method of the flow involved in the flow
107:             * execution will be called.
108:             * @param event the event that occured
109:             * @return the next selected view, which returns control to the client and
110:             * requests that a view be rendered with model data
111:             * @throws FlowExecutionException if an exception was thrown within a state
112:             * of the flow during execution of this signalEvent operation
113:             * @see Flow#onEvent(RequestControlContext)
114:             */
115:            public ViewSelection signalEvent(Event event)
116:                    throws FlowExecutionException;
117:
118:            /**
119:             * End the active flow session of the current flow execution. This method
120:             * should be called by clients that terminate flows, such as end states. The
121:             * <code>end()</code> method of the flow involved in the flow execution
122:             * will be called.
123:             * @param output output produced by the session that is eligible for mapping
124:             * by a resuming parent flow
125:             * @return the ended session
126:             * @throws IllegalStateException when the flow execution is not active
127:             * @see Flow#end(RequestControlContext, MutableAttributeMap)
128:             */
129:            public FlowSession endActiveFlowSession(MutableAttributeMap output)
130:                    throws IllegalStateException;
131:
132:            /**
133:             * Execute this transition out of the current source state. Allows for
134:             * privileged execution of an arbitrary transition.
135:             * @param transition the transition
136:             * @return a new view selection
137:             * @see Transition#execute(State, RequestControlContext)
138:             */
139:            public ViewSelection execute(Transition transition);
140:
141:        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.