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
014 package org.hornetq.api.core;
015
016 import java.io.Serializable;
017
018 import org.hornetq.api.core.client.HornetQClient;
019 import org.hornetq.core.logging.Logger;
020 import org.hornetq.utils.UUIDGenerator;
021
022 /**
023 * A DiscoveryGroupConfiguration
024 *
025 * @author <a href="mailto:tim.fox@jboss.com">Tim Fox</a>
026 *
027 * Created 18 Nov 2008 08:47:30
028 *
029 *
030 */
031 public class DiscoveryGroupConfiguration implements Serializable
032 {
033 private static final long serialVersionUID = 8657206421727863400L;
034
035 private static final Logger log = Logger.getLogger(DiscoveryGroupConfiguration.class);
036
037
038 private String name;
039
040 private String localBindAddress;
041
042 private String groupAddress;
043
044 private int groupPort;
045
046 private long refreshTimeout;
047
048 private long discoveryInitialWaitTimeout;
049
050 public DiscoveryGroupConfiguration(final String name,
051 final String localBindAddress,
052 final String groupAddress,
053 final int groupPort,
054 final long refreshTimeout,
055 final long discoveryInitialWaitTimeout)
056 {
057 this.name = name;
058 this.groupAddress = groupAddress;
059 this.localBindAddress = localBindAddress;
060 this.groupPort = groupPort;
061 this.refreshTimeout = refreshTimeout;
062 this.discoveryInitialWaitTimeout = discoveryInitialWaitTimeout;
063 }
064
065 public DiscoveryGroupConfiguration(final String groupAddress,
066 final int groupPort)
067 {
068 this(UUIDGenerator.getInstance().generateStringUUID(), null, groupAddress, groupPort, HornetQClient.DEFAULT_DISCOVERY_INITIAL_WAIT_TIMEOUT, HornetQClient.DEFAULT_DISCOVERY_INITIAL_WAIT_TIMEOUT);
069 }
070
071 public String getName()
072 {
073 return name;
074 }
075
076 public String getLocalBindAddress()
077 {
078 return localBindAddress;
079 }
080
081 public String getGroupAddress()
082 {
083 return groupAddress;
084 }
085
086 public int getGroupPort()
087 {
088 return groupPort;
089 }
090
091 public long getRefreshTimeout()
092 {
093 return refreshTimeout;
094 }
095
096 /**
097 * @param name the name to set
098 */
099 public void setName(final String name)
100 {
101 this.name = name;
102 }
103
104 /**
105 * @param localBindAddress the localBindAddress to set
106 */
107 public void setLocalBindAdress(final String localBindAddress)
108 {
109 this.localBindAddress = localBindAddress;
110 }
111
112 /**
113 * @param groupAddress the groupAddress to set
114 */
115 public void setGroupAddress(final String groupAddress)
116 {
117 this.groupAddress = groupAddress;
118 }
119
120 /**
121 * @param groupPort the groupPort to set
122 */
123 public void setGroupPort(final int groupPort)
124 {
125 this.groupPort = groupPort;
126 }
127
128 /**
129 * @param refreshTimeout the refreshTimeout to set
130 */
131 public void setRefreshTimeout(final long refreshTimeout)
132 {
133 this.refreshTimeout = refreshTimeout;
134 }
135
136 /**
137 * @return the discoveryInitialWaitTimeout
138 */
139 public long getDiscoveryInitialWaitTimeout()
140 {
141 return discoveryInitialWaitTimeout;
142 }
143
144 /**
145 * @param discoveryInitialWaitTimeout the discoveryInitialWaitTimeout to set
146 */
147 public void setDiscoveryInitialWaitTimeout(long discoveryInitialWaitTimeout)
148 {
149 this.discoveryInitialWaitTimeout = discoveryInitialWaitTimeout;
150 }
151
152 @Override
153 public boolean equals(Object o)
154 {
155 if (this == o) return true;
156 if (o == null || getClass() != o.getClass()) return false;
157
158 DiscoveryGroupConfiguration that = (DiscoveryGroupConfiguration) o;
159
160 if (discoveryInitialWaitTimeout != that.discoveryInitialWaitTimeout) return false;
161 if (groupPort != that.groupPort) return false;
162 if (refreshTimeout != that.refreshTimeout) return false;
163 if (groupAddress != null ? !groupAddress.equals(that.groupAddress) : that.groupAddress != null) return false;
164 if (localBindAddress != null ? !localBindAddress.equals(that.localBindAddress) : that.localBindAddress != null)
165 return false;
166 if (name != null ? !name.equals(that.name) : that.name != null) return false;
167
168 return true;
169 }
170
171 @Override
172 public int hashCode()
173 {
174 int result = name != null ? name.hashCode() : 0;
175 result = 31 * result + (localBindAddress != null ? localBindAddress.hashCode() : 0);
176 result = 31 * result + (groupAddress != null ? groupAddress.hashCode() : 0);
177 result = 31 * result + groupPort;
178 result = 31 * result + (int) (refreshTimeout ^ (refreshTimeout >>> 32));
179 result = 31 * result + (int) (discoveryInitialWaitTimeout ^ (discoveryInitialWaitTimeout >>> 32));
180 return result;
181 }
182 }