package eu.thog92.launcher.version;
import eu.thog92.launcher.util.OperatingSystem;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Rule
{
private final Action action = Action.ALLOW;
private OSRestriction os;
public Action getAppliedAction()
{
if (os != null && !os.isCurrentOperatingSystem())
return null;
return action;
}
@Override
public String toString()
{
return "Rule{action=" + action + ", os=" + os + '}';
}
public enum Action
{
ALLOW, DISALLOW
}
public class OSRestriction
{
private OperatingSystem name;
private String version;
public OSRestriction()
{
}
public boolean isCurrentOperatingSystem()
{
if (name != null && name != OperatingSystem.getCurrentPlatform())
return false;
if (version != null)
try
{
final Pattern pattern = Pattern.compile(version);
final Matcher matcher = pattern.matcher(System.getProperty("os.version"));
if (!matcher.matches())
return false;
} catch (final Throwable localThrowable)
{
}
return true;
}
@Override
public String toString()
{
return "OSRestriction{name=" + name + ", version='" + version + '\'' + '}';
}
}
}