// Generated by delombok at Sun Feb 26 12:31:38 KST 2017 package scouter.bytebuddy.matcher; /** * An element matcher that matches a class loader for being a parent of the given class loader. * * @param <T> The exact type of the class loader that is matched. */ public class ClassLoaderParentMatcher<T extends ClassLoader> extends ElementMatcher.Junction.AbstractBase<T> { /** * The class loader that is matched for being a child of the matched class loader. */ private final ClassLoader classLoader; /** * Creates a class loader parent element matcher. * * @param classLoader The class loader that is matched for being a child of the matched class loader. */ public ClassLoaderParentMatcher(ClassLoader classLoader) { this.classLoader = classLoader; } @Override public boolean matches(T target) { ClassLoader current = classLoader; while (current != null) { if (current == target) { return true; } current = current.getParent(); } return target == null; } @Override public String toString() { return "isParentOf(" + classLoader + ')'; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof ClassLoaderParentMatcher)) return false; final ClassLoaderParentMatcher<?> other = (ClassLoaderParentMatcher<?>) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$classLoader = this.classLoader; final java.lang.Object other$classLoader = other.classLoader; if (this$classLoader == null ? other$classLoader != null : !this$classLoader.equals(other$classLoader)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ClassLoaderParentMatcher; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int hashCode() { final int PRIME = 59; int result = 1; final java.lang.Object $classLoader = this.classLoader; result = result * PRIME + ($classLoader == null ? 43 : $classLoader.hashCode()); return result; } }