001: /*
002: * This file is part of the WfMOpen project.
003: * Copyright (C) 2001-2003 Danet GmbH (www.danet.de), GS-AN.
004: * All rights reserved.
005: *
006: * This program is free software; you can redistribute it and/or modify
007: * it under the terms of the GNU General Public License as published by
008: * the Free Software Foundation; either version 2 of the License, or
009: * (at your option) any later version.
010: *
011: * This program is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
014: * GNU General Public License for more details.
015: *
016: * You should have received a copy of the GNU General Public License
017: * along with this program; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
019: *
020: * $Id: Transition.java,v 1.2 2006/09/29 12:32:07 drmlipp Exp $
021: *
022: * $Log: Transition.java,v $
023: * Revision 1.2 2006/09/29 12:32:07 drmlipp
024: * Consistently using WfMOpen as projct name now.
025: *
026: * Revision 1.1.1.1 2003/06/30 20:05:13 drmlipp
027: * Initial import
028: *
029: * Revision 1.5 2003/06/27 08:51:46 lipp
030: * Fixed copyright/license information.
031: *
032: * Revision 1.4 2003/05/31 20:05:25 lipp
033: * Added support for different condition types.
034: *
035: * Revision 1.3 2002/11/25 14:27:28 lipp
036: * Proper display of transitions from/to activities from block
037: * activities.
038: *
039: * Revision 1.2 2002/08/26 20:23:13 lipp
040: * Lots of method renames.
041: *
042: * Revision 1.1 2002/05/18 11:58:21 lipp
043: * New interface for Transition in api (instead of using the domain class
044: * directly).
045: *
046: */
047:
048: package de.danet.an.workflow.api;
049:
050: /**
051: * Represents a transition between two activities.<P>
052: *
053: * Methods of this interface do not throw
054: * <code>RemoteException</code>s as they are read-only and the data is
055: * immutable and simple.
056: */
057: public interface Transition {
058:
059: /** Condition type "condition". */
060: public static final int COND_TYPE_CONDITION = 1;
061:
062: /** Condition type "OTHERWISE". */
063: public static final int COND_TYPE_OTHERWISE = 2;
064:
065: /** Condition type "exception". */
066: public static final int COND_TYPE_EXCEPTION = 3;
067:
068: /** Condition type "default exception". */
069: public static final int COND_TYPE_DEFAULTEXCEPTION = 4;
070:
071: /**
072: * Returns the "From" activity of this transition.
073: *
074: * @return the source activity
075: */
076: Activity from();
077:
078: /**
079: * Returns the "To" activity of this transition.
080: *
081: * @return the destination activity
082: */
083: Activity to();
084:
085: /**
086: * Returns the id of this transition.
087: *
088: * @return the id
089: */
090: String id();
091:
092: /**
093: * Return the priority of this transition. The priority determines
094: * the sequence in which transitions from activties with XOR split
095: * are evaluated.
096: * @return the priority
097: */
098: int order();
099:
100: /**
101: * Return the identifier of the transition group this transition
102: * belongs to.
103: * @return the transition group
104: */
105: String group();
106:
107: /**
108: * Returns the type of the condition associated with this
109: * transition.
110: * @return type of the condition of this transition
111: */
112: int conditionType();
113:
114: /**
115: * Returns the condition associated with this transition.
116: * @return the condition of this transition
117: */
118: String condition();
119:
120: }
|