package com.github.vbauer.jconditions.annotation;
import com.github.vbauer.jconditions.checker.RunningOnOSChecker;
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 the current operation system and runs test method only when it is specified and `value` parameter.
*
* @author Vladislav Bauer
*/
@Documented
@Condition(RunningOnOSChecker.class)
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.ANNOTATION_TYPE, ElementType.TYPE, ElementType.METHOD})
public @interface RunningOnOS {
String MAC = "mac";
String MAC_OSX = "mac os x";
String LINUX = "linux";
String WINDOWS = "win";
String OS2 = "os/2";
String AIX = "aix";
String HP_UX = "hp-ux";
String IRIX = "irix";
String SOLARIS = "solaris";
String SUN_OS = "sunos";
/**
* Operation system(s) that should be checked.
*
* @return OS name
*/
String[] value();
}