Package org.apache.solr.common.util

## Class EnvUtils

- java.lang.Object
- - org.apache.solr.common.util.EnvUtils

    public class EnvUtils
    extends Object

Provides convenient access to System Properties for Solr. It also converts 'SOLR_FOO' env vars to system properties 'solr.foo', which is done on first access of this class. All Solr code should use this in lieu of JDK equivalents.

### Constructor Summary

Constructors
`EnvUtils()`

### Method Summary

All Methods Static Methods Concrete Methods
`protected static String` `envNameToSyspropName​(String envName)`
`static SortedMap<String,​String>` `getProperties()` Get all Solr system properties as a sorted map
`static String` `getProperty​(String key)` Get a property as string
`static String` `getProperty​(String key, String defaultValue)` Get a property as string with a fallback value.
`static Boolean` `getPropertyAsBool​(String key)` Get property as boolean
`static Boolean` `getPropertyAsBool​(String key, Boolean defaultValue)` Get property as boolean, or default value
`static Integer` `getPropertyAsInteger​(String key)` Get property as integer
`static Integer` `getPropertyAsInteger​(String key, Integer defaultValue)` Get property as integer, or default value
`static List<String>` `getPropertyAsList​(String key)` Get comma separated strings from sysprop as List
`static List<String>` `getPropertyAsList​(String key, List<String> defaultValue)` Get comma separated strings from sysprop as List, or default value
`static Long` `getPropertyAsLong​(String key)` Get property as long
`static Long` `getPropertyAsLong​(String key, Long defaultValue)` Get property as long, or default value
`static void` `setProperty​(String key, String value)` Set a system property.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### EnvUtils

    public EnvUtils()

### Method Detail

#### getProperties

    public static SortedMap<String,​String> getProperties()

Get all Solr system properties as a sorted map

#### getProperty

    public static String getProperty​(String key)

Get a property as string

#### getProperty

    public static String getProperty​(String key,
                                     String defaultValue)

Get a property as string with a fallback value. All other getProperty* methods use this.

Parameters:
  `key` - property key, which treats 'camelCase' the same as 'camel.case'
  `defaultValue` - fallback value if property is not found

#### getPropertyAsInteger

    public static Integer getPropertyAsInteger​(String key)

Get property as integer

#### getPropertyAsInteger

    public static Integer getPropertyAsInteger​(String key,
                                               Integer defaultValue)

Get property as integer, or default value

#### getPropertyAsLong

    public static Long getPropertyAsLong​(String key)

Get property as long

#### getPropertyAsLong

    public static Long getPropertyAsLong​(String key,
                                         Long defaultValue)

Get property as long, or default value

#### getPropertyAsBool

    public static Boolean getPropertyAsBool​(String key)

Get property as boolean

#### getPropertyAsBool

    public static Boolean getPropertyAsBool​(String key,
                                            Boolean defaultValue)

Get property as boolean, or default value

#### getPropertyAsList

    public static List<String> getPropertyAsList​(String key)

Get comma separated strings from sysprop as List

Returns:
  list of strings, or null if not found

#### getPropertyAsList

    public static List<String> getPropertyAsList​(String key,
                                                 List<String> defaultValue)

Get comma separated strings from sysprop as List, or default value

Returns:
  list of strings, or provided default if not found

#### setProperty

    public static void setProperty​(String key,
                                   String value)

Set a system property. Shim to `System.setProperty(String, String)`

#### envNameToSyspropName

    protected static String envNameToSyspropName​(String envName)