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

net.stickycode.metadata.ElementMetadataResolver Maven / Gradle / Ivy

package net.stickycode.metadata;

import java.lang.annotation.Annotation;

/**
 * Resolver contract for fluently querying annotation metadata of the elements of the subject of resolution
 */
public interface ElementMetadataResolver {

  /**
   * Are any methods of the subject of resolution annotated with one of the given annotations
   */
  boolean haveAnyMethodsAnnotatedWith(Class... annotations);

  /**
   * Are any methods of the subject of resolution annotated with one of the given annotations or annotations annotated by the given
   * annotations
   */
  boolean haveAnyMethodsMetaAnnotatedWith(Class... annotations);

  /**
   * Are any fields of the subject of resolution annotated with one of the given annotations
   */
  boolean haveAnyFieldsAnnotatedWith(Class... annotations);

  /**
   * Are any fields of the subject of resolution annotated with one of the given annotations or annotations annotated by the given
   * annotations
   */
  boolean haveAnyFieldsMetaAnnotatedWith(Class... annotations);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy