Improve HostAddress, make some members final

also
- add getException()
- improve constructor logic
This commit is contained in:
Florian Schmaus 2014-06-17 10:52:49 +02:00
parent eec0df386c
commit 02651c668f
1 changed files with 16 additions and 14 deletions

View File

@ -1,6 +1,6 @@
/** /**
* *
* Copyright 2013 Florian Schmaus * Copyright © 2013-2014 Florian Schmaus
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -17,8 +17,8 @@
package org.jivesoftware.smack.util.dns; package org.jivesoftware.smack.util.dns;
public class HostAddress { public class HostAddress {
private String fqdn; private final String fqdn;
private int port; private final int port;
private Exception exception; private Exception exception;
/** /**
@ -28,16 +28,8 @@ public class HostAddress {
* @throws IllegalArgumentException If the fqdn is null. * @throws IllegalArgumentException If the fqdn is null.
*/ */
public HostAddress(String fqdn) { 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 // Set port to the default port for XMPP client communication
this.port = 5222; this(fqdn, 5222);
} }
/** /**
@ -48,11 +40,17 @@ public class HostAddress {
* @throws IllegalArgumentException If the fqdn is null or port is out of valid range (0 - 65535). * @throws IllegalArgumentException If the fqdn is null or port is out of valid range (0 - 65535).
*/ */
public HostAddress(String fqdn, int port) { public HostAddress(String fqdn, int port) {
this(fqdn); if (fqdn == null)
throw new IllegalArgumentException("FQDN is null");
if (port < 0 || port > 65535) if (port < 0 || port > 65535)
throw new IllegalArgumentException( throw new IllegalArgumentException(
"Port must be a 16-bit unsiged integer (i.e. between 0-65535. Port was: " + port); "Port must be a 16-bit unsiged integer (i.e. between 0-65535. Port was: " + port);
if (fqdn.charAt(fqdn.length() - 1) == '.') {
this.fqdn = fqdn.substring(0, fqdn.length() - 1);
}
else {
this.fqdn = fqdn;
}
this.port = port; this.port = port;
} }
@ -68,6 +66,10 @@ public class HostAddress {
this.exception = e; this.exception = e;
} }
public Exception getException() {
return this.exception;
}
@Override @Override
public String toString() { public String toString() {
return fqdn + ":" + port; return fqdn + ":" + port;