package com.github.vbauer.jconditions.annotation; import com.github.vbauer.jconditions.checker.PropertyIsDefinedChecker; import com.github.vbauer.jconditions.core.Condition; 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; /** * Checks if environment or system property is defined. * * @author Vladislav Bauer */ @Documented @Condition(PropertyIsDefinedChecker.class) @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.ANNOTATION_TYPE, ElementType.TYPE, ElementType.METHOD}) public @interface PropertyIsDefined { /** * Keys of environment or system variables. * * @return keys */ String[] keys(); /** * Values that should correspond to keys (optional parameter). * * @return values */ String[] values() default {}; }