Class EnvironmentVariableUtils


  • class EnvironmentVariableUtils
    extends java.lang.Object
    This class modifies the internals of the environment variables map with reflection. Warning: If your SecurityManager does not allow modifications, it fails.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void clear​(java.lang.String name)
      Clear an environment variable.
      private static java.util.Map<java.lang.String,​java.lang.String> getFieldValue​(java.lang.Class<?> clazz, java.lang.Object object, java.lang.String name)  
      private static void modifyEnvironmentVariables​(java.util.function.Consumer<java.util.Map<java.lang.String,​java.lang.String>> consumer)  
      static void set​(java.lang.String name, java.lang.String value)
      Set a value of an environment variable.
      private static void setInProcessEnvironmentClass​(java.util.function.Consumer<java.util.Map<java.lang.String,​java.lang.String>> consumer)  
      private static void setInSystemEnvClass​(java.util.function.Consumer<java.util.Map<java.lang.String,​java.lang.String>> consumer)  
      private static void trySystemEnvClass​(java.util.function.Consumer<java.util.Map<java.lang.String,​java.lang.String>> consumer, java.lang.ReflectiveOperationException processEnvironmentClassEx)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • EnvironmentVariableUtils

        private EnvironmentVariableUtils()
    • Method Detail

      • set

        public static void set​(java.lang.String name,
                               java.lang.String value)
        Set a value of an environment variable.
        Parameters:
        name - of the environment variable
        value - of the environment variable
      • clear

        public static void clear​(java.lang.String name)
        Clear an environment variable.
        Parameters:
        name - of the environment variable
      • modifyEnvironmentVariables

        private static void modifyEnvironmentVariables​(java.util.function.Consumer<java.util.Map<java.lang.String,​java.lang.String>> consumer)
      • trySystemEnvClass

        private static void trySystemEnvClass​(java.util.function.Consumer<java.util.Map<java.lang.String,​java.lang.String>> consumer,
                                              java.lang.ReflectiveOperationException processEnvironmentClassEx)
      • setInProcessEnvironmentClass

        private static void setInProcessEnvironmentClass​(java.util.function.Consumer<java.util.Map<java.lang.String,​java.lang.String>> consumer)
                                                  throws java.lang.ReflectiveOperationException
        Throws:
        java.lang.ReflectiveOperationException
      • setInSystemEnvClass

        private static void setInSystemEnvClass​(java.util.function.Consumer<java.util.Map<java.lang.String,​java.lang.String>> consumer)
                                         throws java.lang.ReflectiveOperationException
        Throws:
        java.lang.ReflectiveOperationException
      • getFieldValue

        private static java.util.Map<java.lang.String,​java.lang.String> getFieldValue​(java.lang.Class<?> clazz,
                                                                                            java.lang.Object object,
                                                                                            java.lang.String name)
                                                                                     throws java.lang.ReflectiveOperationException
        Throws:
        java.lang.ReflectiveOperationException