/******************************************************************************* * Copyright (c) 2007, 2008 Spring IDE Developers * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Spring IDE Developers - initial API and implementation *******************************************************************************/ package org.springframework.ide.eclipse.webflow.core.model; import java.util.List; /** * @author Christian Dupuis * @since 2.0 */ public interface IWebflowState extends ITransitionableFrom { void addState(IState state); List<IVar> getVars(); void addVar(IVar var); void addVar(IVar var, int i); void moveVar(IVar var, int i); void removeVar(IVar var); List<IImport> getImports(); void addImport(IImport ip); void addImport(IImport ip, int i); void moveImport(IImport ip, int i); void removeImport(IImport ip); IState getStartState(); void setStartState(IState state); boolean hasStartState(); boolean isStartState(IState state); IInputMapper getInputMapper(); IOutputMapper getOutputMapper(); void setInputMapper(IInputMapper inputMapper); void setOutputMapper(IOutputMapper outputMapper); List<IInlineFlowState> getInlineFlowStates(); void addInlineFlowState(IInlineFlowState state); void addInlineFlowState(IInlineFlowState state, int i); void moveInlineFlowState(IInlineFlowState state, int i); void removeInlineFlowState(IInlineFlowState state); void addState(IState state, int i); List<IState> getStates(); void moveState(IState state, int i); void removeState(IState state); IGlobalTransitions getGlobalTransitions(); void setGlobalTransitions(IGlobalTransitions inputMapper); void setAbstract(String abstrakt); String getAbstract(); void addPersistenceContext(); void removePersistenceContext(); boolean hasPersitenceContext(); /** * Gets the output attributes. * * @return the output attributes */ List<IOutputAttribute> getOutputAttributes(); /** * Adds the output attribute. * * @param action the action */ void addOutputAttribute(IOutputAttribute action); /** * Adds the output attribute. * * @param i the i * @param action the action */ void addOutputAttribute(IOutputAttribute action, int i); /** * Removes the output attribute. * * @param action the action */ void removeOutputAttribute(IOutputAttribute action); /** * Removes the all output attribute. */ void removeAllOutputAttribute(); /** * Gets the input attributes. * * @return the input attributes */ List<IInputAttribute> getInputAttributes(); /** * Adds the input attribute. * * @param action the action */ void addInputAttribute(IInputAttribute action); /** * Adds the input attribute. * * @param i the i * @param action the action */ void addInputAttribute(IInputAttribute action, int i); /** * Removes the input attribute. * * @param action the action */ void removeInputAttribute(IInputAttribute action); /** * Removes the all input attribute. */ void removeAllInputAttribute(); }