/******************************************************************************* * This program is 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: * Tomas Milata - initial API and implementation ******************************************************************************/ package org.jboss.tools.batch.ui.editor.internal.model; import org.eclipse.sapphire.Element; import org.eclipse.sapphire.ElementList; import org.eclipse.sapphire.ElementType; import org.eclipse.sapphire.ListProperty; import org.eclipse.sapphire.Type; import org.eclipse.sapphire.modeling.xml.annotations.XmlListBinding; /** * A FlowElementsContainer is an element that can contain any * {@link FlowElement}s. In JSR-352 model it corresponds to a {@code <job>} or a * {@code <flow>}. A {@code <split>} is not a flow element as it may contain * only flows and not any {@link FlowElement}s. * * @author Tomas Milata */ public interface FlowElementsContainer extends Element { ElementType TYPE = new ElementType(FlowElementsContainer.class); @Type(base = FlowElement.class, possible = { Flow.class, Step.class, Decision.class, Split.class }) @XmlListBinding(path = "") ListProperty PROP_FLOW_ELEMENTS = new ListProperty(TYPE, "FlowElements"); ElementList<FlowElement> getFlowElements(); }