/* * Copyright 2015 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.jbpm.simulation.handler; import java.util.List; import org.eclipse.bpmn2.FlowElement; import org.eclipse.bpmn2.SequenceFlow; import org.jbpm.simulation.PathContextManager; public class DefaultElementHandler extends MainElementHandler { public boolean handle(FlowElement element, PathContextManager manager) { List<SequenceFlow> outgoing = getOutgoing(element); if (outgoing.isEmpty()) { return false; } for (SequenceFlow seqFlow : outgoing) { FlowElement target = seqFlow.getTargetRef(); manager.addToPath(seqFlow, manager.getContextFromStack()); super.handle(target, manager); } return true; } }