001/*
002 * Copyright 2009 Red Hat, Inc.
003 * Red Hat licenses this file to you under the Apache License, version
004 * 2.0 (the "License"); you may not use this file except in compliance
005 * with the License.  You may obtain a copy of the License at
006 *    http://www.apache.org/licenses/LICENSE-2.0
007 * Unless required by applicable law or agreed to in writing, software
008 * distributed under the License is distributed on an "AS IS" BASIS,
009 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
010 * implied.  See the License for the specific language governing
011 * permissions and limitations under the License.
012 */
013
014package org.hornetq.api.core.management;
015
016
017/**
018 * A BridgeControl is used to manage a Bridge.
019 *
020 * @author <a href="jmesnil@redhat.com">Jeff Mesnil</a>
021 *
022 */
023public interface BridgeControl extends HornetQComponentControl
024{
025   /**
026    * Returns the name of this bridge
027    */
028   String getName();
029
030   /**
031    * Returns the name of the queue this bridge is consuming messages from.
032    */
033   String getQueueName();
034
035   /**
036    * Returns the address this bridge will forward messages to.
037    */
038   String getForwardingAddress();
039
040   /**
041    * Returns the filter string associated to this bridge.
042    */
043   String getFilterString();
044
045   /**
046    * Return the name of the org.hornetq.core.server.cluster.Transformer implementation associated to this bridge.
047    */
048   String getTransformerClassName();
049
050   /**
051    * Returns any list of static connectors used by this bridge
052    */
053   String[] getStaticConnectors() throws Exception;
054
055   /**
056    * Returns the name of the discovery group used by this bridge.
057    */
058   String getDiscoveryGroupName();
059
060   /**
061    * Returns the retry interval used by this bridge.
062    */
063   long getRetryInterval();
064
065   /**
066    * Returns the retry interval multiplier used by this bridge.
067    */
068   double getRetryIntervalMultiplier();
069
070   /**
071    * Returns the number of reconnection attempts used by this bridge.
072    */
073   int getReconnectAttempts();
074
075   /**
076    * Returns whether this bridge is using duplicate detection.
077    */
078   boolean isUseDuplicateDetection();
079   
080   /**
081    * Returns whether this bridge is using high availability    
082    */
083   boolean isHA();
084}