/*
 * Copyright 2015 GeekSaga.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.geeksaga.light.util;

/**
 * @author geeksaga
 */
public class SystemProperty {
    public static final boolean WINDOWS_OS = getSystemProperty("os.name", "unix").contains("Window");

    private static String getSystemProperty(String key, String def) {
        try {
            return System.getProperty(key, def);
        } catch (RuntimeException exception) {
            return def;
        }
    }
}

@@ -714,77 +714,2270 @@
 ean 
-WINDOWS_OS = getSystemProperty(%22os.name%22, %22unix%22).contains(%22Window%22);
+IS_JAVA_16 = getSystemProperty(%22java.version%22, %221.6%22).startsWith(%221.6%22);%0A    public static final boolean IS_JAVA_17 = getSystemProperty(%22java.version%22, %221.7%22).startsWith(%221.7%22);%0A    public static final boolean IS_JAVA_18 = getSystemProperty(%22java.version%22, %221.8%22).startsWith(%221.8%22);%0A    public static final boolean IS_JAVA_19 = getSystemProperty(%22java.version%22, %221.9%22).startsWith(%221.9%22);%0A    public static final boolean IS_JAVA_16_PLUS = IS_JAVA_16 %7C%7C IS_JAVA_17 %7C%7C IS_JAVA_18;%0A    public static final boolean IS_JAVA_17_PLUS = IS_JAVA_17 %7C%7C IS_JAVA_18;%0A    public static final boolean IS_JAVA_18_PLUS = IS_JAVA_18 %7C%7C IS_JAVA_19;%0A    public static final boolean IS_JAVA_19_PLUS = IS_JAVA_19;%0A%0A    public static final String JAVA_CLASS_PATH = getSystemProperty(%22java.class.path%22);%0A    public static final String JAVA_VERSION = getSystemProperty(%22java.version%22);%0A    public static final String JAVA_HOME = getSystemProperty(%22java.home%22);%0A    public static final String JAVA_VM_NAME = getSystemProperty(%22java.vm.name%22);%0A    public static final String JAVA_VM_VERSION = getSystemProperty(%22java.vm.version%22);%0A    public static final String JAVA_VENDOR = getSystemProperty(%22java.vendor%22);%0A    public static final String JAVA_VM_VENDOR = getSystemProperty(%22java.vm.vendor%22);%0A    public static final String JVM = getSystemProperty(%22jvm%22);%0A    public static final String OS_ARCH = getSystemProperty(%22os.arch%22);%0A    public static final String OS_NAME = getSystemProperty(%22os.name%22);%0A    public static final String OS_VERSION = getSystemProperty(%22os.version%22);%0A    public static final String USER_HOME = getSystemProperty(%22user.home%22);%0A    public static final String USER_TIMEZONE = getSystemProperty(%22user.timezone%22);%0A    public static final String FILE_ENCODING = getSystemProperty(%22file.encoding%22);%0A%0A    public static final boolean WINDOWS_OS = getSystemProperty(%22os.name%22, %22unix%22).contains(%22Window%22);%0A    public static final boolean IBM_VM = JAVA_VENDOR.toUpperCase().startsWith(%22IBM%22);%0A%0A    public static final String LINE_SEPARATOR = getSystemProperty(%22line.separator%22);%0A    public static final String PATH_SEPARATOR = getSystemProperty(%22path.separator%22);%0A%0A    private static String getSystemProperty(String key)%0A    %7B%0A        return getSystemProperty(key, %22%22);%0A    %7D
 %0A%0A  

update some system property value