/* * This program is free software; you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software * Foundation. * * You should have received a copy of the GNU Lesser General Public License along with this * program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html * or from the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU Lesser General Public License for more details. * * Copyright 2005 - 2008 Pentaho Corporation. All rights reserved. * * @created Jul 18, 2005 * @author James Dixon * */ package org.pentaho.platform.api.engine; import java.util.List; /** * An ActionSequence is the functional object that wraps a SequenceDefinition * for processing by the RuntimeContext. When a request results in a * RuntimeContext execution, it is the ActionSequence that the context is * operazting on. * */ public interface IActionSequence extends ISequenceDefinition { /** * Returns the list of ActionDefinition objects retrieved from the * SequenceDefinition. * * @return list of ActionDefinitions */ @SuppressWarnings("unchecked") public List getActionDefinitionsAndSequences(); /** * If the ActionSequence contains a loop, returns the parameter that the * execution should loop on. * * @return the parameter to loop on, if looping is defined, otherwise null */ public String getLoopParameter(); /** * If the ActionSequence contains a loop, returns the parameter that the * execution should loop on. * * @return the parameter to loop on, if looping is defined, otherwise null */ public boolean getLoopUsingPeek(); /** * Returns whether the ActionSequence has a loop in its definition. * * @return true if looping is defined, otherwise false */ public boolean hasLoop(); /** * @return The conditional execution object that determines whether a set * of actions will be executed. */ public IConditionalExecution getConditionalExecution(); /** * Sets the ConditionalExecution object that determines whether a set of * actions will be executed. * @param value The ConditionalExecution object */ public void setConditionalExecution(IConditionalExecution value); }