package com.github.vbauer.jconditions.checker; import com.github.vbauer.jconditions.annotation.RunningOnOS; import com.github.vbauer.jconditions.core.CheckerContext; import com.github.vbauer.jconditions.core.ConditionChecker; import com.github.vbauer.jconditions.util.PropUtils; /** * @author Vladislav Bauer */ public class RunningOnOSChecker implements ConditionChecker<RunningOnOS> { public static final String PROPERTY_OS_NAME = "os.name"; /** * {@inheritDoc} */ @Override public boolean isSatisfied(final CheckerContext<RunningOnOS> context) throws Exception { final RunningOnOS annotation = context.getAnnotation(); final String[] operationSystems = annotation.value(); return PropUtils.hasAnyWithProperties(currentOS(), operationSystems); } public static String currentOS() { return PropUtils.getSystemProperty(PROPERTY_OS_NAME).toLowerCase(); } }