001/*-------------------------------------------------------------------------+ 002| | 003| Copyright (c) 2009-2019 CQSE GmbH | 004| | 005+-------------------------------------------------------------------------*/ 006package eu.cqse.check.framework.core.ruleset; 007 008import java.lang.annotation.Documented; 009import java.lang.annotation.ElementType; 010import java.lang.annotation.Retention; 011import java.lang.annotation.RetentionPolicy; 012import java.lang.annotation.Target; 013 014import org.atteo.classindex.IndexAnnotated; 015 016/** 017 * Meta annotation for marking all annotations that mark checks for specific 018 * rulesets. 019 */ 020@Documented 021@Retention(RetentionPolicy.RUNTIME) 022@Target(ElementType.ANNOTATION_TYPE) 023@IndexAnnotated 024public @interface RulesetAnnotation { 025 026 /** The readable name of the ruleset. */ 027 String name(); 028 029 /** The enumeration listing all rules. */ 030 Class<? extends IRulesetRule> rules(); 031 032}