/**
* Copyright (c) 2001-2017 Mathew A. Nelson and Robocode contributors
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://robocode.sourceforge.net/license/epl-v10.html
*/
package net.sf.robocode.io;
/**
* Utility class for convenient access to Robocode system wide properties.
*
* @author Flemming N. Larsen (original)
*/
public final class RobocodeProperties {
// These properties can only be set at startup
private static final boolean NO_SECURITY = System.getProperty("NOSECURITY", "false").equals("true");
private static final boolean DEBUG = System.getProperty("debug", "false").equals("true");
private RobocodeProperties() {}
/**
* Checks if security is off, i.e. that the <code>NOSECURITY</code> property has been set to <code>true</code>.
* @return true if security is disabled; false if security is enabled.
*/
public static boolean isSecurityOff() {
return NO_SECURITY;
}
/**
* Checks if security is on, i.e. that the <code>NOSECURITY</code> property has been set to <code>false</code> or not defined at all.
* @return true if security is enabled; false if security is disabled.
*/
public static boolean isSecurityOn() {
return !NO_SECURITY;
}
/**
* Checks if debugging is disabled.
* @return true if debugging is disabled; false is debugging is enabled.
*/
public static boolean isDebuggingOff() {
return !DEBUG;
}
/**
* Checks if debugging is enabled.
* @return true if debugging is enabled; false is debugging is disabled.
*/
public static boolean isDebuggingOn() {
return DEBUG;
}
/**
* Sets the testing flag.
* @param enabled true if testing is being enabled; false if testing is being disabled.
*/
public static void setTesting(boolean enabled) {
System.setProperty("TESTING", "" + enabled);
}
/**
* Checks if testing is disabled.
* @return true if testing is disabled; false is testing is enabled.
*/
public static boolean isTestingOff() {
return !isTestingOn();
}
/**
* Checks if testing is enabled.
* @return true if testing is enabled; false is testing is disabled.
*/
public static boolean isTestingOn() {
return System.getProperty("TESTING", "false").equals("true");
}
}