package com.github.vbauer.jconditions.annotation; import com.github.vbauer.jconditions.checker.IgnoreIfChecker; import com.github.vbauer.jconditions.core.Condition; import com.github.vbauer.jconditions.core.ConditionChecker; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Allows to skip some test method using specific {@link ConditionChecker} class. * It will skip test, if checker return true and execute method otherwise. * "ConditionChecker" could be separate class, or nested static class, or even inner class. * It also works fine with private classes. * * @author Vladislav Bauer */ @Documented @Condition(IgnoreIfChecker.class) @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.ANNOTATION_TYPE, ElementType.TYPE, ElementType.METHOD}) public @interface IgnoreIf { /** * Condition checkers that should be checked. * * @return condition checkers */ @SuppressWarnings("rawtypes") Class<? extends ConditionChecker>[] value(); }