org.jivesoftware.smack.util.dns.HostAddress Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jamppa Show documentation
Show all versions of jamppa Show documentation
jamppa is a XMPP client/component library
The newest version!
/**
* Copyright 2013 Florian Schmaus
*
* All rights reserved. Licensed 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.jivesoftware.smack.util.dns;
public class HostAddress {
private String fqdn;
private int port;
private Exception exception;
/**
* Creates a new HostAddress with the given FQDN. The port will be set to
* the default XMPP client port: 5222
*
* @param fqdn
* Fully qualified domain name.
* @throws IllegalArgumentException
* If the fqdn is null.
*/
public HostAddress(String fqdn) {
if (fqdn == null)
throw new IllegalArgumentException("FQDN is null");
if (fqdn.charAt(fqdn.length() - 1) == '.') {
this.fqdn = fqdn.substring(0, fqdn.length() - 1);
} else {
this.fqdn = fqdn;
}
// Set port to the default port for XMPP client communication
this.port = 5222;
}
/**
* Creates a new HostAddress with the given FQDN. The port will be set to
* the default XMPP client port: 5222
*
* @param fqdn
* Fully qualified domain name.
* @param port
* The port to connect on.
* @throws IllegalArgumentException
* If the fqdn is null or port is out of valid range (0 -
* 65535).
*/
public HostAddress(String fqdn, int port) {
this(fqdn);
if (port < 0 || port > 65535)
throw new IllegalArgumentException(
"DNS SRV records weight must be a 16-bit unsiged integer (i.e. between 0-65535. Port was: "
+ port);
this.port = port;
}
public String getFQDN() {
return fqdn;
}
public int getPort() {
return port;
}
public void setException(Exception e) {
this.exception = e;
}
@Override
public String toString() {
return fqdn + ":" + port;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof HostAddress)) {
return false;
}
final HostAddress address = (HostAddress) o;
if (!fqdn.equals(address.fqdn)) {
return false;
}
return port == address.port;
}
@Override
public int hashCode() {
int result = 1;
result = 37 * result + fqdn.hashCode();
return result * 37 + port;
}
public String getErrorMessage() {
String error;
if (exception == null) {
error = "No error logged";
} else {
error = exception.getMessage();
}
return toString() + " Exception: " + error;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy