###############################################################################
# Copyright (c) 2005 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
#
# BPEL Spec-Compliant Terms
#
Empty = Empty
Switch = Switch
Flow = Flow
Pick = Pick
OnMessage = OnMessage
OnAlarm = OnAlarm
PartnerLink = Partner Link
While = While

Variable = Variable
EventHandler = Event Handler
OnEvent = OnEvent
FaultHandler = Fault Handler
CompensationHandler = Compensation Handler
Catch = Catch
CatchAll = Catch All
Invoke = Invoke
Receive = Receive
Reply = Reply
Wait = Wait
Sequence = Sequence
Scope = Scope
Terminate = Terminate
Throw = Throw
Rethrow = Rethrow
Compensate = Compensate
Assign = Assign
