01: /*
02: * Copyright 2007 Outerthought bvba and Schaubroeck nv
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16: package org.outerj.daisy.workflow;
17:
18: import org.outerx.daisy.x10Workflow.TimerDocument;
19:
20: import java.util.Date;
21:
22: /**
23: * A timer in a workflow process instance.
24: */
25: public interface WfTimer {
26: String getId();
27:
28: String getName();
29:
30: Date getDueDate();
31:
32: /**
33: * If the execution of the timer action caused an error, this will contain
34: * the error description. Is always null before timer is executed.
35: */
36: String getException();
37:
38: /**
39: * Returns true if this timer is suspended.
40: *
41: * <p>A timer becomes suspended when the process it belongs to is suspended.
42: */
43: boolean isSuspended();
44:
45: /**
46: * Returns the ID of the process instance to which this timer belongs.
47: */
48: String getProcessId();
49:
50: /**
51: * Returns the execution path in the workflow to where
52: * this timer was created.
53: */
54: String getExecutionPath();
55:
56: /**
57: * Returns the name of the transition that is or will be followed
58: * when the timer completes. Can be null when no transition should
59: * be followed.
60: */
61: String getTransitionName();
62:
63: TimerDocument getXml();
64: }
|