1 /** 2 * Copyright (C) 2002 Kelua SA 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 */ 18 19 package org.objectweb.kilim.model; 20 21 import java.util.Stack; 22 23 import org.objectweb.kilim.KilimException; 24 25 /** 26 * @author horn 27 */ 28 29 public interface RuntimeAction extends RuntimeElement { 30 /** 31 * executes the method, constructor, setter, getter implementing the RuntimeAction. 32 * @throws KilimException : the exception is generated when the method is invoked on unbound references 33 * or on illegal elements. 34 */ 35 void execute() throws KilimException; 36 37 /** 38 * returns whether an action can be performed without any new constructive action. 39 * @param exClude is the stack of runtime element which are under evaluation (i.e. element in the process of a constructive action). 40 * @return boolean 41 * @throws KilimException : 42 */ 43 boolean checkAction(Stack exClude) throws KilimException; 44 45 /** 46 * returns the target object. This method has been introduced to deal with references. 47 * @return RuntimeSource 48 * @throws KilimException : generated when invoked on an uninitialized references. 49 */ 50 RuntimeElement getTarget() throws KilimException; 51 52 /** 53 * sets the event source value (i.e. the reference to the object being the current event source).. 54 * @param aValue : the value of the source. 55 * @throws KilimException : the exception is generated when the provided value is badly typed or 56 * when the component element is not bound 57 */ 58 void setEventSourceValue(Object aValue) throws KilimException; 59 60 /** 61 * gets the event source value (i.e. the reference to the object being the current event source).. 62 * @return Object : the reference of the trigger source. 63 * @throws KilimException : the exception is generated when the method is invoked on unbound references 64 * or on illegal elements. 65 */ 66 Object getEventSourceValue() throws KilimException; 67 } 68