/******************************************************************************* * Copyright 2017 Graz University of Technology * EAAF-Core Components has been developed in a cooperation between EGIZ, * A-SIT+, A-SIT, and Graz University of Technology. * * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by * the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * https://joinup.ec.europa.eu/news/understanding-eupl-v12 * * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Licence for the specific language governing permissions and * limitations under the Licence. * * This product combines work with different licenses. See the "NOTICE" text * file for details on the various modules and licenses. * The "NOTICE" text file is part of the distribution. Any derivative works * that you distribute must include a readable copy of the "NOTICE" text file. *******************************************************************************/ /******************************************************************************* *******************************************************************************/ /******************************************************************************* *******************************************************************************/ package at.gv.egiz.eaaf.core.impl.idp.process.model; import java.util.ArrayList; import java.util.List; import at.gv.egiz.eaaf.core.impl.idp.process.ProcessDefinitionParser; /** * Represents a {@link StartEvent}, an {@link EndEvent} or a {@linkplain TaskInfo Task}. * @author tknall * */ public abstract class ProcessNode { private String id; private List outgoingTransitions = new ArrayList<>(); private List incomingTransitions = new ArrayList<>(); /** * Returns the unique identifier of the process node. * * @return The unique identifier (never {@code null} if process node comes from a process definition from * {@link ProcessDefinitionParser}). */ public String getId() { return id; } /** * Sets the unique identifier of the process node. * @param id The unique identifier. */ public void setId(String id) { this.id = id; } /** * Returns a list of transitions pointing from this process node to another one. * @return A list of transitions (never {@code null} if process node comes from a process definition from {@link ProcessDefinitionParser}). */ public List getOutgoingTransitions() { return outgoingTransitions; } /** * Sets the list of transitions pointing from this process node to another one. * @param outgoingTransitions The list of transitions originating from this process node. */ public void setOutgoingTransitions(List outgoingTransitions) { this.outgoingTransitions = outgoingTransitions; } /** * Returns a list of transitions pointing from another process node to this one. * @return A list of transitions (never {@code null} if process node comes from a process definition from {@link ProcessDefinitionParser}). */ public List getIncomingTransitions() { return incomingTransitions; } /** * Sets the list of transitions pointing from another process node to this one. * @param incomingTransitions A list of transitions pointing to this process node. */ public void setIncomingTransitions(List incomingTransitions) { this.incomingTransitions = incomingTransitions; } }