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

com.undefinedlabs.scope.jdk.reflection.ClassKey Maven / Gradle / Ivy

package com.undefinedlabs.scope.jdk.reflection;

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

public class ClassKey {

  private final String className;
  private final ClassLoader classLoader;

  public ClassKey(final String className, final ClassLoader classLoader) {
    this.className = className;
    this.classLoader = classLoader;
  }

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

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

    final ClassKey classKey = (ClassKey) o;

    return new EqualsBuilder()
        .append(className, classKey.className)
        .append(classLoader, classKey.classLoader)
        .isEquals();
  }

  @Override
  public int hashCode() {
    return new HashCodeBuilder(17, 37).append(className).append(classLoader).toHashCode();
  }

  @Override
  public String toString() {
    return new ToStringBuilder(this)
        .append("className", className)
        .append("classLoader", classLoader)
        .toString();
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy