Java Doc for Decision.java in  » Wiki-Engine » JSPWiki » com » ecyrd » jspwiki » workflow » 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 » Wiki Engine » JSPWiki » com.ecyrd.jspwiki.workflow 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   com.ecyrd.jspwiki.workflow.AbstractStep
      com.ecyrd.jspwiki.workflow.Decision

All known Subclasses:   com.ecyrd.jspwiki.workflow.SimpleNotification,  com.ecyrd.jspwiki.workflow.SimpleDecision,
Decision
abstract public class Decision extends AbstractStep (Code)

AbstractStep subclass that asks an actor Principal to choose an Outcome on behalf of an owner (also a Principal). The actor "makes the decision" by calling the Decision.decide(Outcome) method. When this method is called, it will set the Decision's Outcome to the one supplied. If the parent Workflow is in the Workflow.WAITING state, it will be re-started. Any checked WikiExceptions thrown by the workflow after re-start will be re-thrown to callers.

When a Decision completes, its Decision.isCompleted() method returns true. It also tells its parent WorkflowManager to remove it from the list of pending tasks by calling DecisionQueue.remove(Decision) .

To enable actors to choose an appropriate Outcome, Decisions can store arbitrary key-value pairs called "facts." These facts can be presented by the user interface to show details the actor needs to know about. Facts are added by calling classes to the Decision, in order of expected presentation, by the Decision.addFact(Fact) method. They can be retrieved, in order, via Decision.getFacts() .


author:
   Andrew Jaquith
since:
   2.5



Constructor Summary
public  Decision(Workflow workflow, String messageKey, Principal actor, Outcome defaultOutcome)
     Constructs a new Decision for a required "actor" Principal, having a default Outcome.

Method Summary
final public  voidaddFact(Fact fact)
     Appends a Fact to the list of Facts associated with this Decision.
public  voiddecide(Outcome outcome)
    

Sets this Decision's outcome, and restarts the parent Workflow if it is in the Workflow.WAITING state and this Decision is its currently active Step.

public  Outcomeexecute()
     Default implementation that always returns Outcome.STEP_CONTINUE if the current Outcome isn't a completion (which will be true if the Decision.decide(Outcome) method hasn't been executed yet.
final public  PrincipalgetActor()
    
public  OutcomegetDefaultOutcome()
     Returns the default or suggested outcome, which must be one of those returned by Decision.getAvailableOutcomes() .
final public  ListgetFacts()
     Returns the Facts associated with this Decision, in the order in which they were added.
final public  intgetId()
     Returns the unique identifier for this Decision.
public  booleanisReassignable()
     Returns true if the Decision can be reassigned to another actor.
final public synchronized  voidreassign(Principal actor)
     Reassigns the Decision to a new actor (that is, provide an outcome).
final public  voidsetId(int id)
     Sets the unique identfier for this Decision.


Constructor Detail
Decision
public Decision(Workflow workflow, String messageKey, Principal actor, Outcome defaultOutcome)(Code)
Constructs a new Decision for a required "actor" Principal, having a default Outcome.
Parameters:
  workflow - the parent Workflow object
Parameters:
  messageKey - the i18n message key that represents the message the actor will see
Parameters:
  actor - the Principal (e.g., a WikiPrincipal, Role, GroupPrincipal) who isrequired to select an appropriate Outcome
Parameters:
  defaultOutcome - the Outcome that the user interface will recommend as thedefault choice




Method Detail
addFact
final public void addFact(Fact fact)(Code)
Appends a Fact to the list of Facts associated with this Decision.
Parameters:
  fact - the new fact to add



decide
public void decide(Outcome outcome) throws WikiException(Code)

Sets this Decision's outcome, and restarts the parent Workflow if it is in the Workflow.WAITING state and this Decision is its currently active Step. Any checked WikiExceptions thrown by the workflow after re-start will be re-thrown to callers.

This method cannot be invoked if the Decision is not the current Workflow step; all other invocations will throw an IllegalStateException. If the Outcome supplied to this method is one one of the Outcomes returned by Decision.getAvailableOutcomes() , an IllegalArgumentException will be thrown.


Parameters:
  outcome - the Outcome of the Decision
throws:
  WikiException - if the act of restarting the Workflow throws an exception



execute
public Outcome execute() throws WikiException(Code)
Default implementation that always returns Outcome.STEP_CONTINUE if the current Outcome isn't a completion (which will be true if the Decision.decide(Outcome) method hasn't been executed yet. This method will also add the Decision to the associated DecisionQueue. the Outcome of the execution
throws:
  WikiException - never



getActor
final public Principal getActor()(Code)



getDefaultOutcome
public Outcome getDefaultOutcome()(Code)
Returns the default or suggested outcome, which must be one of those returned by Decision.getAvailableOutcomes() . This method is guaranteed to return a non-null Outcome. the default outcome.



getFacts
final public List getFacts()(Code)
Returns the Facts associated with this Decision, in the order in which they were added. the list of Facts



getId
final public int getId()(Code)
Returns the unique identifier for this Decision. Normally, this ID is programmatically assigned when the Decision is added to the DecisionQueue. the identifier



isReassignable
public boolean isReassignable()(Code)
Returns true if the Decision can be reassigned to another actor. This implementation always returns true. the result



reassign
final public synchronized void reassign(Principal actor)(Code)
Reassigns the Decision to a new actor (that is, provide an outcome). If the Decision is not reassignable, this method throws an IllegalArgumentException.
Parameters:
  actor - the actor to reassign the Decision to



setId
final public void setId(int id)(Code)
Sets the unique identfier for this Decision.
Parameters:
  id - the identifier



Methods inherited from com.ecyrd.jspwiki.workflow.AbstractStep
final protected synchronized void addError(String message)(Code)(Java Doc)
final public void addSuccessor(Outcome outcome, Step step)(Code)(Java Doc)
abstract public Outcome execute() throws WikiException(Code)(Java Doc)
abstract public Principal getActor()(Code)(Java Doc)
final public Collection getAvailableOutcomes()(Code)(Java Doc)
final public Date getEndTime()(Code)(Java Doc)
final public List getErrors()(Code)(Java Doc)
final public Object[] getMessageArguments()(Code)(Java Doc)
final public String getMessageKey()(Code)(Java Doc)
final public synchronized Outcome getOutcome()(Code)(Java Doc)
public Principal getOwner()(Code)(Java Doc)
final public Date getStartTime()(Code)(Java Doc)
final public Step getSuccessor(Outcome outcome)(Code)(Java Doc)
final public synchronized Workflow getWorkflow()(Code)(Java Doc)
final public boolean isCompleted()(Code)(Java Doc)
final public boolean isStarted()(Code)(Java Doc)
final public synchronized void setOutcome(Outcome outcome)(Code)(Java Doc)
final protected synchronized void setWorkflow(Workflow workflow)(Code)(Java Doc)
final public synchronized void start() throws WikiException(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.