001/**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements.  See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License.  You may obtain a copy of the License at
008 *
009 *      http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017package org.apache.activemq.command;
018
019/**
020 * A default endpoint.
021 * 
022 * 
023 */
024public class BaseEndpoint implements Endpoint {
025
026    private String name;
027    private BrokerInfo brokerInfo;
028
029    public BaseEndpoint(String name) {
030        this.name = name;
031    }
032
033    public String getName() {
034        return name;
035    }
036
037    public String toString() {
038        String brokerText = "";
039        BrokerId brokerId = getBrokerId();
040        if (brokerId != null) {
041            brokerText = " broker: " + brokerId;
042        }
043        return "Endpoint[name:" + name + brokerText + "]";
044    }
045
046    /**
047     * Returns the broker ID for this endpoint, if the endpoint is a broker or
048     * null
049     */
050    public BrokerId getBrokerId() {
051        if (brokerInfo != null) {
052            return brokerInfo.getBrokerId();
053        }
054        return null;
055    }
056
057    /**
058     * Returns the broker information for this endpoint, if the endpoint is a
059     * broker or null
060     */
061    public BrokerInfo getBrokerInfo() {
062        return brokerInfo;
063    }
064
065    public void setBrokerInfo(BrokerInfo brokerInfo) {
066        this.brokerInfo = brokerInfo;
067    }
068
069}