All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.starlight.intrepid.spi.mina.HostAndPort Maven / Gradle / Ivy

// Copyright (c) 2010 Rob Eden.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//     * Redistributions of source code must retain the above copyright
//       notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above copyright
//       notice, this list of conditions and the following disclaimer in the
//       documentation and/or other materials provided with the distribution.
//     * Neither the name of Intrepid nor the
//       names of its contributors may be used to endorse or promote products
//       derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL  BE LIABLE FOR ANY
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

package com.starlight.intrepid.spi.mina;

import com.starlight.MiscKit;

import java.net.InetAddress;


/**
*
*/
class HostAndPort {
	private final InetAddress host;
	private final int port;

	HostAndPort( InetAddress host, int port ) {
		this.host = host;
		this.port = port;
	}

	@Override
	public boolean equals( Object o ) {
		if ( this == o ) return true;
		if ( o == null || getClass() != o.getClass() ) return false;

		HostAndPort that = ( HostAndPort ) o;

		if ( port != that.port ) return false;
		if ( host != null ? !host.equals( that.host ) : that.host != null )
			return false;

		return true;
	}

	public boolean equals( InetAddress host, int port ) {
		return MiscKit.equal( host, this.host ) && this.port == port;
	}


	@Override
	public int hashCode() {
		int result = host != null ? host.hashCode() : 0;
		result = 31 * result + port;
		return result;
	}


	public InetAddress getHost() {
		return host;
	}

	public int getPort() {
		return port;
	}


	@Override
	public String toString() {
		return new StringBuilder( host.getHostAddress() ).append( ":" ).append(
			port ).toString();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy