/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * 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.apache.activemq.artemis.protocol.amqp.proton.handler; import org.apache.qpid.proton.engine.Event; public final class Events { public static void dispatch(Event event, EventHandler handler) throws Exception { switch (event.getType()) { case CONNECTION_INIT: handler.onInit(event.getConnection()); break; case CONNECTION_LOCAL_OPEN: handler.onLocalOpen(event.getConnection()); break; case CONNECTION_REMOTE_OPEN: handler.onRemoteOpen(event.getConnection()); break; case CONNECTION_LOCAL_CLOSE: handler.onLocalClose(event.getConnection()); break; case CONNECTION_REMOTE_CLOSE: handler.onRemoteClose(event.getConnection()); break; case CONNECTION_FINAL: handler.onFinal(event.getConnection()); break; case SESSION_INIT: handler.onInit(event.getSession()); break; case SESSION_LOCAL_OPEN: handler.onLocalOpen(event.getSession()); break; case SESSION_REMOTE_OPEN: handler.onRemoteOpen(event.getSession()); break; case SESSION_LOCAL_CLOSE: handler.onLocalClose(event.getSession()); break; case SESSION_REMOTE_CLOSE: handler.onRemoteClose(event.getSession()); break; case SESSION_FINAL: handler.onFinal(event.getSession()); break; case LINK_INIT: handler.onInit(event.getLink()); break; case LINK_LOCAL_OPEN: handler.onLocalOpen(event.getLink()); break; case LINK_REMOTE_OPEN: handler.onRemoteOpen(event.getLink()); break; case LINK_LOCAL_CLOSE: handler.onLocalClose(event.getLink()); break; case LINK_REMOTE_CLOSE: handler.onRemoteClose(event.getLink()); break; case LINK_FLOW: handler.onFlow(event.getLink()); break; case LINK_FINAL: handler.onFinal(event.getLink()); break; case LINK_LOCAL_DETACH: handler.onLocalDetach(event.getLink()); break; case LINK_REMOTE_DETACH: handler.onRemoteDetach(event.getLink()); break; case TRANSPORT: handler.onTransport(event.getTransport()); break; case DELIVERY: handler.onDelivery(event.getDelivery()); break; default: break; } } }