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

com.undefinedlabs.scope.socketaddress.ScopeSocketAddress Maven / Gradle / Ivy

package com.undefinedlabs.scope.socketaddress;

import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;

public class ScopeSocketAddress {

  public static final ScopeSocketAddress EMPTY = new ScopeSocketAddress(null, null, null, null);

  private final String peerHostname;
  private final String peerIpv4;
  private final String peerAddress;
  private final Integer peerPort;

  public ScopeSocketAddress(
      final String peerHostname,
      final String peerIpv4,
      final String peerAddress,
      final Integer peerPort) {
    this.peerHostname = peerHostname;
    this.peerIpv4 = peerIpv4;
    this.peerAddress = peerAddress;
    this.peerPort = peerPort;
  }

  public String getPeerHostname() {
    return peerHostname;
  }

  public String getPeerIpv4() {
    return peerIpv4;
  }

  public String getPeerAddress() {
    return peerAddress;
  }

  public Integer getPeerPort() {
    return peerPort;
  }

  @Override
  public boolean equals(final Object o) {
    if (this == o) {
      return true;
    }

    if (o == null || getClass() != o.getClass()) {
      return false;
    }

    final ScopeSocketAddress that = (ScopeSocketAddress) o;

    return new EqualsBuilder()
        .append(peerPort, that.peerPort)
        .append(peerHostname, that.peerHostname)
        .append(peerIpv4, that.peerIpv4)
        .append(peerAddress, that.peerAddress)
        .isEquals();
  }

  @Override
  public int hashCode() {
    return new HashCodeBuilder(17, 37)
        .append(peerHostname)
        .append(peerIpv4)
        .append(peerAddress)
        .append(peerPort)
        .toHashCode();
  }

  @Override
  public String toString() {
    return new ToStringBuilder(this)
        .append("peerHostname", peerHostname)
        .append("peerIpv4", peerIpv4)
        .append("peerAddress", peerAddress)
        .append("peerPort", peerPort)
        .toString();
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy