home *** CD-ROM | disk | FTP | other *** search
- package java.lang;
-
- import java.util.ArrayList;
- import java.util.Collection;
- import java.util.Collections;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.Set;
- import java.util.TreeMap;
-
- final class ProcessEnvironment extends HashMap<String, String> {
- static final int MIN_NAME_LENGTH = 1;
- private static final NameComparator nameComparator = new NameComparator((1)null);
- private static final EntryComparator entryComparator = new EntryComparator((1)null);
- private static final ProcessEnvironment theEnvironment = new ProcessEnvironment();
- private static final Map<String, String> theUnmodifiableEnvironment;
- private static final Map<String, String> theCaseInsensitiveEnvironment;
-
- private static String validateName(String var0) {
- if (var0.indexOf(61, 1) == -1 && var0.indexOf(0) == -1) {
- return var0;
- } else {
- throw new IllegalArgumentException("Invalid environment variable name: \"" + var0 + "\"");
- }
- }
-
- private static String validateValue(String var0) {
- if (var0.indexOf(0) != -1) {
- throw new IllegalArgumentException("Invalid environment variable value: \"" + var0 + "\"");
- } else {
- return var0;
- }
- }
-
- private static String nonNullString(Object var0) {
- if (var0 == null) {
- throw new NullPointerException();
- } else {
- return (String)var0;
- }
- }
-
- public String put(String var1, String var2) {
- return (String)super.put(validateName(var1), validateValue(var2));
- }
-
- public String get(Object var1) {
- return (String)super.get(nonNullString(var1));
- }
-
- public boolean containsKey(Object var1) {
- return super.containsKey(nonNullString(var1));
- }
-
- public boolean containsValue(Object var1) {
- return super.containsValue(nonNullString(var1));
- }
-
- public String remove(Object var1) {
- return (String)super.remove(nonNullString(var1));
- }
-
- public Set<String> keySet() {
- return new CheckedKeySet(super.keySet());
- }
-
- public Collection<String> values() {
- return new CheckedValues(super.values());
- }
-
- public Set<Map.Entry<String, String>> entrySet() {
- return new CheckedEntrySet(super.entrySet());
- }
-
- private ProcessEnvironment() {
- }
-
- private ProcessEnvironment(int var1) {
- super(var1);
- }
-
- static String getenv(String var0) {
- return (String)theCaseInsensitiveEnvironment.get(var0);
- }
-
- static Map<String, String> getenv() {
- return theUnmodifiableEnvironment;
- }
-
- static Map<String, String> environment() {
- return (Map)theEnvironment.clone();
- }
-
- static Map<String, String> emptyEnvironment(int var0) {
- return new ProcessEnvironment(var0);
- }
-
- private static native String environmentBlock();
-
- String toEnvironmentBlock() {
- ArrayList var1 = new ArrayList(this.entrySet());
- Collections.sort(var1, entryComparator);
- StringBuilder var2 = new StringBuilder(this.size() * 30);
-
- for(Map.Entry var4 : var1) {
- var2.append((String)var4.getKey()).append('=').append((String)var4.getValue()).append('\u0000');
- }
-
- if (var2.length() == 0) {
- var2.append('\u0000');
- }
-
- var2.append('\u0000');
- return var2.toString();
- }
-
- static String toEnvironmentBlock(Map<String, String> var0) {
- return var0 == null ? null : ((ProcessEnvironment)var0).toEnvironmentBlock();
- }
-
- // $FF: synthetic method
- static String access$000(String var0) {
- return validateValue(var0);
- }
-
- // $FF: synthetic method
- static String access$200(Object var0) {
- return nonNullString(var0);
- }
-
- static {
- theUnmodifiableEnvironment = Collections.unmodifiableMap(theEnvironment);
- String var0 = environmentBlock();
-
- int var2;
- int var3;
- for(int var1 = 0; (var2 = var0.indexOf(0, var1)) != -1 && (var3 = var0.indexOf(61, var1 + 1)) != -1; var1 = var2 + 1) {
- if (var3 < var2) {
- theEnvironment.put(var0.substring(var1, var3), var0.substring(var3 + 1, var2));
- }
- }
-
- theCaseInsensitiveEnvironment = new TreeMap(nameComparator);
- theCaseInsensitiveEnvironment.putAll(theEnvironment);
- }
- }
-