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

com.ebay.jetstream.messaging.PublisherId Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 *  Copyright © 2012-2015 eBay Software Foundation
 *  This program is dual licensed under the MIT and Apache 2.0 licenses.
 *  Please see LICENSE for more information.
 *******************************************************************************/
package com.ebay.jetstream.messaging;

import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays;

/**
 * @author shmurthy
 *
 * 
 */

public class PublisherId {

	String m_topicname;
	long m_guid =0;
	byte [] m_addr;
	
	/**
	 * 
	 */
	public PublisherId(){}
	
	/**
	 * @param topicname
	 * @param guid
	 * @param addr
	 */
	public PublisherId(String topicname, long guid, byte [] addr)
	{
		m_topicname = topicname;
		m_guid = guid;
		m_addr = new byte[addr.length];
		System.arraycopy(addr, 0, m_addr, 0, addr.length);

	}
	
	

	
	/* (non-Javadoc)
	 * @see java.lang.Object#hashCode()
	 */
	public int hashCode() {
		
		int hashCode = Arrays.hashCode(m_addr);
		hashCode += (Long.valueOf(m_guid)).hashCode();

		return hashCode;
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	public boolean equals(Object obj) {
		
		if (this == obj)
			return true;
			
		if (obj == null)
			return false;
		
		if (!(obj instanceof PublisherId))
			return false;

		PublisherId key = (PublisherId) obj;
		
		if(!Arrays.equals(m_addr, key.m_addr))
			return false;
		
		if (m_guid != key.m_guid)
			return false;

		return true;
	}
	
	/**
	 * @param guid
	 */
	public void setGuid(long guid)
	{
		m_guid = guid;
		
	}
	
	/**
	 * @param addr
	 */
	public void setAddr(byte [] addr)
	{
		m_addr = new byte[addr.length];
		System.arraycopy(addr, 0, m_addr, 0, addr.length);

	}
	
	/**
	 * @param topicname
	 */
	public void setTopicName(String topicname)
	{
		m_topicname = topicname;
		
	}
	
	public String getTopicname() {
		return m_topicname;
	}
	
	
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	public String toString()
	{
		
		String pubIdStr = "Id = " + Long.valueOf(m_guid).toString();
		
		pubIdStr += " ";
		
		try {
			pubIdStr += "Addr = " + InetAddress.getByAddress(m_addr).toString();
		} catch (UnknownHostException e) {
					
			pubIdStr += "Addr = Unknown";
		}
		
		return pubIdStr;
	}
	
	
	
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy