diff options
Diffstat (limited to 'src/com/isode/stroke/network/HostAddress.java')
-rw-r--r-- | src/com/isode/stroke/network/HostAddress.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/com/isode/stroke/network/HostAddress.java b/src/com/isode/stroke/network/HostAddress.java new file mode 100644 index 0000000..152dc2b --- /dev/null +++ b/src/com/isode/stroke/network/HostAddress.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2010 Remko Tron¨on + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ +/* + * Copyright (c) 2010, Isode Limited, London, England. + * All rights reserved. + */ +package com.isode.stroke.network; + +import java.net.InetAddress; + +public class HostAddress { + + public HostAddress() { + address_ = null; + } + + public HostAddress(InetAddress address) { + address_ = address; + } + /* public HostAddress(const String&); + public HostAddress(const unsigned char* address, int length); + public HostAddress(const boost::asio::ip::address& address);*/ + + @Override + public String toString() { + return address_.getHostAddress(); + } + + @Override + public int hashCode() { + int hash = 5; + hash = 29 * hash + (this.address_ != null ? this.address_.hashCode() : 0); + return hash; + } + + @Override + public boolean equals(Object other) { + if (other instanceof HostAddress) { + return address_.equals(((HostAddress)other).getInetAddress()); + } + return false; + } + + public boolean isValid() { + return address_ != null; + } + + InetAddress getInetAddress() { + return address_; + } + + private final InetAddress address_; +} |