// Path: src/main/java/com/github/vbauer/jconditions/checker/RunningOnOSChecker.java
// public class RunningOnOSChecker implements ConditionChecker<RunningOnOS> {
// 
//     private static final String PROPERTY_OS_NAME = "os.name";
// 
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public boolean isSatisfied(final CheckerContext<RunningOnOS> context) {
//         final RunningOnOS annotation = context.getAnnotation();
//         final String[] operationSystems = annotation.value();
//         return PropUtils.hasAnyWithProperties(currentOS(), operationSystems);
//     }
// 
// 
//     private static String currentOS() {
//         return PropUtils.getSystemProperty(PROPERTY_OS_NAME).toLowerCase();
//     }
// 
// }


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;
package com.github.vbauer.jconditions.annotation;



/**
 * 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})
// Path: src/main/java/com/github/vbauer/jconditions/checker/RunningOnOSChecker.java
// public class RunningOnOSChecker implements ConditionChecker<RunningOnOS> {
// 
//     private static final String PROPERTY_OS_NAME = "os.name";
// 
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public boolean isSatisfied(final CheckerContext<RunningOnOS> context) {
//         final RunningOnOS annotation = context.getAnnotation();
//         final String[] operationSystems = annotation.value();
//         return PropUtils.hasAnyWithProperties(currentOS(), operationSystems);
//     }
// 
// 
//     private static String currentOS() {
//         return PropUtils.getSystemProperty(PROPERTY_OS_NAME).toLowerCase();
//     }
// 
// }


// Path: src/main/java/com/github/vbauer/jconditions/annotation/RunningOnOS.java
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;

package com.github.vbauer.jconditions.annotation;



/**
 * 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 {