/** * @return Return true if the environment has been set as a System property */ public static boolean isSystemSet() { return getEnvironment() != null; }
/** * Returns the current environment which is typcally either DEVELOPMENT, PRODUCTION or TEST. * For custom environments CUSTOM type is returned. * * @return The current environment. */ public static Environment getCurrent() { String envName = getEnvironment(); Environment env; if(!isBlank(envName)) { env = getEnvironment(envName); if(env != null) { return env; } } Environment current = cachedCurrentEnvironment.get(); if (current != null) { return current; } return cacheCurrentEnvironment(); }
private static Environment resolveCurrentEnvironment() { String envName = getEnvironment(); if (isBlank(envName)) { Metadata metadata = Metadata.getCurrent(); if (metadata != null) { envName = metadata.getEnvironment(); } if (isBlank(envName)) { return DEVELOPMENT; } } Environment env = getEnvironment(envName); if (env == null) { try { env = Environment.valueOf(envName.toUpperCase()); } catch (IllegalArgumentException e) { // ignore } } if (env == null) { env = Environment.CUSTOM; env.setName(envName); } return env; }