org.springframework.core.env
Class ReadOnlySystemAttributesMap

java.lang.Object
  extended by org.springframework.core.env.ReadOnlySystemAttributesMap
All Implemented Interfaces:
java.util.Map<java.lang.String,java.lang.String>

abstract class ReadOnlySystemAttributesMap
extends java.lang.Object
implements java.util.Map<java.lang.String,java.lang.String>

Read-only Map<String, String> implementation that is backed by system properties or environment variables.

Used by AbstractApplicationContext when a SecurityManager prohibits access to System.getProperties() or System.getenv().

Since:
3.0
Author:
Arjen Poutsma, Chris Beams

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Constructor Summary
ReadOnlySystemAttributesMap()
           
 
Method Summary
 void clear()
           
 boolean containsKey(java.lang.Object key)
           
 boolean containsValue(java.lang.Object value)
           
 java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.String>> entrySet()
           
 java.lang.String get(java.lang.Object key)
           
protected abstract  java.lang.String getSystemAttribute(java.lang.String attributeName)
          Template method that returns the underlying system attribute.
 boolean isEmpty()
           
 java.util.Set<java.lang.String> keySet()
           
 java.lang.String put(java.lang.String key, java.lang.String value)
           
 void putAll(java.util.Map<? extends java.lang.String,? extends java.lang.String> m)
           
 java.lang.String remove(java.lang.Object key)
           
 int size()
           
 java.util.Collection<java.lang.String> values()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Constructor Detail

ReadOnlySystemAttributesMap

ReadOnlySystemAttributesMap()
Method Detail

containsKey

public boolean containsKey(java.lang.Object key)
Specified by:
containsKey in interface java.util.Map<java.lang.String,java.lang.String>

get

public java.lang.String get(java.lang.Object key)
Specified by:
get in interface java.util.Map<java.lang.String,java.lang.String>
Parameters:
key - the name of the system attribute to retrieve
Throws:
java.lang.IllegalArgumentException - if given key is non-String

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Map<java.lang.String,java.lang.String>

getSystemAttribute

protected abstract java.lang.String getSystemAttribute(java.lang.String attributeName)
Template method that returns the underlying system attribute.

Implementations typically call System.getProperty(String) or System.getenv(String) here.


size

public int size()
Specified by:
size in interface java.util.Map<java.lang.String,java.lang.String>

put

public java.lang.String put(java.lang.String key,
                            java.lang.String value)
Specified by:
put in interface java.util.Map<java.lang.String,java.lang.String>

containsValue

public boolean containsValue(java.lang.Object value)
Specified by:
containsValue in interface java.util.Map<java.lang.String,java.lang.String>

remove

public java.lang.String remove(java.lang.Object key)
Specified by:
remove in interface java.util.Map<java.lang.String,java.lang.String>

clear

public void clear()
Specified by:
clear in interface java.util.Map<java.lang.String,java.lang.String>

keySet

public java.util.Set<java.lang.String> keySet()
Specified by:
keySet in interface java.util.Map<java.lang.String,java.lang.String>

putAll

public void putAll(java.util.Map<? extends java.lang.String,? extends java.lang.String> m)
Specified by:
putAll in interface java.util.Map<java.lang.String,java.lang.String>

values

public java.util.Collection<java.lang.String> values()
Specified by:
values in interface java.util.Map<java.lang.String,java.lang.String>

entrySet

public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.String>> entrySet()
Specified by:
entrySet in interface java.util.Map<java.lang.String,java.lang.String>