// Generated by delombok at Sun Feb 26 12:31:38 KST 2017 package scouter.bytebuddy.description.annotation; import java.util.Arrays; import java.util.List; /** * Describes a declaration source for annotations. */ public interface AnnotationSource { /** * Returns a list of annotations that are declared by this instance. * * @return A list of declared annotations. */ AnnotationList getDeclaredAnnotations(); /** * An annotation source that does not declare any annotations. */ enum Empty implements AnnotationSource { /** * The singleton instance. */ INSTANCE; @Override public AnnotationList getDeclaredAnnotations() { return new AnnotationList.Empty(); } } /** * An annotation source that declares a given list of annotations. */ class Explicit implements AnnotationSource { /** * The represented annotations. */ private final List<? extends AnnotationDescription> annotations; /** * Creates a new explicit annotation source. * * @param annotation The represented annotations. */ public Explicit(AnnotationDescription... annotation) { this(Arrays.asList(annotation)); } /** * Creates a new explicit annotation source. * * @param annotations The represented annotations. */ public Explicit(List<? extends AnnotationDescription> annotations) { this.annotations = annotations; } @Override public AnnotationList getDeclaredAnnotations() { return new AnnotationList.Explicit(annotations); } @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 AnnotationSource.Explicit)) return false; final AnnotationSource.Explicit other = (AnnotationSource.Explicit) o; if (!other.canEqual((java.lang.Object) this)) return false; final java.lang.Object this$annotations = this.annotations; final java.lang.Object other$annotations = other.annotations; if (this$annotations == null ? other$annotations != null : !this$annotations.equals(other$annotations)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof AnnotationSource.Explicit; } @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 $annotations = this.annotations; result = result * PRIME + ($annotations == null ? 43 : $annotations.hashCode()); return result; } } }