01: /*
02: * $Id: Activity.java 881 2007-02-12 07:54:31Z hengels $
03: * (c) Copyright 2004 con:cern development team.
04: *
05: * This file is part of con:cern (http://concern.sf.net).
06: *
07: * con:cern is free software; you can redistribute it and/or modify
08: * it under the terms of the GNU Lesser General Public License
09: * as published by the Free Software Foundation; either version 2.1
10: * of the License, or (at your option) any later version.
11: *
12: * Please see COPYING for the complete licence.
13: */
14: package org.concern.controller;
15:
16: /**
17: * An activity is an atomic unit of concern, executed on a subject as part of the process.
18: */
19: public interface Activity<S> extends Node {
20:
21: String getPrecondition();
22:
23: String getPostcondition();
24:
25: boolean isReentrant();
26:
27: String getActor();
28:
29: /**
30: * This method is called, when the timeout of an asynchronous activity is exceeded or n trials
31: * have failed.
32: * @param subject the subject
33: * @throws ActivityExecutionException
34: */
35: void escalate(S subject) throws ActivityExecutionException;
36: }
|