package com.github.vbauer.jconditions.core; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Condition is the core feature of JConditions extension mechanism. * All other conditional annotations could be built on top of this annotation. * <p/> * It allows to specify checker that should be run before execution of test method. * This checker permits or restricts to run test. * <p/> * See an example here: {@link com.github.vbauer.jconditions.annotation.HasClass} * * @author Vladislav Bauer */ @Target(ElementType.ANNOTATION_TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Condition { /** * Conditional checker class that will be instantiated and run before test. * * @return conditional checker class */ @SuppressWarnings("rawtypes") Class<? extends ConditionChecker> value(); }