public class MapAccessor<K,V> extends java.lang.Object implements MapAdaptable<K,V>
Constructor and Description |
---|
MapAccessor(java.util.Map<K,V> map)
Creates a new attribute map accessor.
|
Modifier and Type | Method and Description |
---|---|
java.util.Map<K,V> |
asMap()
Returns this object's contents as a
Map . |
void |
assertContainsKey(java.lang.Object key)
Asserts that the attribute is present in the attribute map.
|
<T> T |
assertKeyValueInstanceOf(java.lang.Object key,
java.lang.Object value,
java.lang.Class<T> requiredType)
Assert that the key value, if non null, is an instance of the required type.
|
<T> T |
assertKeyValueOfType(java.lang.Object key,
java.lang.Class<T> requiredType)
Assert that value of the map key, if non-null, is of the required type.
|
boolean |
containsKey(java.lang.Object key,
java.lang.Class<?> requiredType)
Indicates if the attribute is present in the attribute map and of the required type.
|
V |
get(java.lang.Object key)
Returns a value in the map, returning null if the attribute is not present.
|
<T extends V> |
get(java.lang.Object key,
java.lang.Class<T> requiredType)
Returns a value in the map, asserting it is of the required type if present and returning
null if
not found. |
<T extends V> |
get(java.lang.Object key,
java.lang.Class<T> requiredType,
T defaultValue)
Returns a value in the map of the specified type, returning the defaultValue if no value is found.
|
V |
get(java.lang.Object key,
V defaultValue)
Returns a value in the map, returning the defaultValue if no value was found.
|
<T extends V> |
getArray(java.lang.Object key,
java.lang.Class<? extends T[]> requiredType)
Returns a array value in the map, asserting it is of the required type if present and returning
null
if not found. |
java.lang.Boolean |
getBoolean(java.lang.Object key)
Returns a boolean value in the map, returning
null if no value was found. |
java.lang.Boolean |
getBoolean(java.lang.Object key,
java.lang.Boolean defaultValue)
Returns a boolean value in the map, returning the defaultValue if no value was found.
|
java.util.Collection<V> |
getCollection(java.lang.Object key)
Returns a collection value in the map, returning
null if no value was found. |
<T extends java.util.Collection<V>> |
getCollection(java.lang.Object key,
java.lang.Class<T> requiredType)
Returns a collection value in the map, asserting it is of the required type if present and returning
null if not found. |
java.lang.Integer |
getInteger(java.lang.Object key)
Returns an integer value in the map, returning
null if no value was found. |
java.lang.Integer |
getInteger(java.lang.Object key,
java.lang.Integer defaultValue)
Returns an integer value in the map, returning the defaultValue if no value was found.
|
java.lang.Long |
getLong(java.lang.Object key)
Returns a long value in the map, returning
null if no value was found. |
java.lang.Long |
getLong(java.lang.Object key,
java.lang.Long defaultValue)
Returns a long value in the map, returning the defaultValue if no value was found.
|
<T extends java.lang.Number> |
getNumber(java.lang.Object key,
java.lang.Class<T> requiredType)
Returns a number value in the map that is of the specified type, returning
null if no value was
found. |
<T extends java.lang.Number> |
getNumber(java.lang.Object key,
java.lang.Class<T> requiredType,
T defaultValue)
Returns a number attribute value in the map of the specified type, returning the defaultValue if no value was
found.
|
V |
getRequired(java.lang.Object key)
Returns a value in the map, throwing an exception if the attribute is not present and of the correct type.
|
<T extends V> |
getRequired(java.lang.Object key,
java.lang.Class<T> requiredType)
Returns an value in the map, asserting it is present and of the required type.
|
<T extends V> |
getRequiredArray(java.lang.Object key,
java.lang.Class<? extends T[]> requiredType)
Returns an array value in the map, asserting it is of the required type if present and throwing an exception if
not found.
|
java.lang.Boolean |
getRequiredBoolean(java.lang.Object key)
Returns a boolean value in the map, throwing an exception if the value is not present and of the correct type.
|
java.util.Collection<V> |
getRequiredCollection(java.lang.Object key)
Returns a collection value in the map, throwing an exception if not found.
|
<T extends java.util.Collection<V>> |
getRequiredCollection(java.lang.Object key,
java.lang.Class<T> requiredType)
Returns a collection value in the map, asserting it is of the required type if present and throwing an exception
if not found.
|
java.lang.Integer |
getRequiredInteger(java.lang.Object key)
Returns an integer value in the map, throwing an exception if the value is not present and of the correct type.
|
java.lang.Long |
getRequiredLong(java.lang.Object key)
Returns a long value in the map, throwing an exception if the value is not present and of the correct type.
|
<T extends java.lang.Number> |
getRequiredNumber(java.lang.Object key,
java.lang.Class<T> requiredType)
Returns a number value in the map, throwing an exception if the attribute is not present and of the correct type.
|
java.lang.String |
getRequiredString(java.lang.Object key)
Returns a string value in the map, throwing an exception if the attribute is not present and of the correct type.
|
java.lang.String |
getString(java.lang.Object key)
Returns a string value in the map, returning
null if no value was found. |
java.lang.String |
getString(java.lang.Object key,
java.lang.String defaultValue)
Returns a string value in the map, returning the defaultValue if no value was found.
|
public java.util.Map<K,V> asMap()
MapAdaptable
Map
. The returned map may or may not be modifiable depending on this
implementation.
Warning: this operation may be called frequently; if so care should be taken so that the map contents (if calculated) be cached as appropriate.
asMap
in interface MapAdaptable<K,V>
public V get(java.lang.Object key)
key
- the keypublic V get(java.lang.Object key, V defaultValue)
key
- the keydefaultValue
- the defaultpublic <T extends V> T get(java.lang.Object key, java.lang.Class<T> requiredType) throws java.lang.IllegalArgumentException
null
if
not found.key
- the keyrequiredType
- the required typejava.lang.IllegalArgumentException
- if the key is present but the value is not of the required typepublic <T extends V> T get(java.lang.Object key, java.lang.Class<T> requiredType, T defaultValue)
key
- the keyrequiredType
- the required typedefaultValue
- the defaultjava.lang.IllegalArgumentException
- if the key is present but the value is not of the required typepublic V getRequired(java.lang.Object key) throws java.lang.IllegalArgumentException
key
- the keyjava.lang.IllegalArgumentException
public <T extends V> T getRequired(java.lang.Object key, java.lang.Class<T> requiredType) throws java.lang.IllegalArgumentException
key
- the keyrequiredType
- the required typejava.lang.IllegalArgumentException
public java.lang.String getString(java.lang.Object key) throws java.lang.IllegalArgumentException
null
if no value was found.key
- the keyjava.lang.IllegalArgumentException
- if the key is present but the value is not a stringpublic java.lang.String getString(java.lang.Object key, java.lang.String defaultValue) throws java.lang.IllegalArgumentException
key
- the keydefaultValue
- the defaultjava.lang.IllegalArgumentException
- if the key is present but the value is not a stringpublic java.lang.String getRequiredString(java.lang.Object key) throws java.lang.IllegalArgumentException
key
- the keyjava.lang.IllegalArgumentException
- if the key is not present or present but the value is not a stringpublic java.util.Collection<V> getCollection(java.lang.Object key) throws java.lang.IllegalArgumentException
null
if no value was found.key
- the keyjava.lang.IllegalArgumentException
- if the key is present but the value is not a collectionpublic <T extends java.util.Collection<V>> T getCollection(java.lang.Object key, java.lang.Class<T> requiredType) throws java.lang.IllegalArgumentException
null
if not found.key
- the keyjava.lang.IllegalArgumentException
- if the key is present but the value is not a collectionpublic java.util.Collection<V> getRequiredCollection(java.lang.Object key) throws java.lang.IllegalArgumentException
key
- the keyjava.lang.IllegalArgumentException
- if the key is not present or present but the value is not a collectionpublic <T extends java.util.Collection<V>> T getRequiredCollection(java.lang.Object key, java.lang.Class<T> requiredType) throws java.lang.IllegalArgumentException
key
- the keyjava.lang.IllegalArgumentException
- if the key is not present or present but the value is not a collection of the
required typepublic <T extends V> T[] getArray(java.lang.Object key, java.lang.Class<? extends T[]> requiredType) throws java.lang.IllegalArgumentException
null
if not found.key
- the keyjava.lang.IllegalArgumentException
- if the key is present but the value is not an array of the required typepublic <T extends V> T[] getRequiredArray(java.lang.Object key, java.lang.Class<? extends T[]> requiredType) throws java.lang.IllegalArgumentException
key
- the keyjava.lang.IllegalArgumentException
- if the key is not present or present but the value is not a array of the
required typepublic <T extends java.lang.Number> T getNumber(java.lang.Object key, java.lang.Class<T> requiredType) throws java.lang.IllegalArgumentException
null
if no value was
found.key
- the keyrequiredType
- the required number typejava.lang.IllegalArgumentException
- if the key is present but the value is not a number of the required typepublic <T extends java.lang.Number> T getNumber(java.lang.Object key, java.lang.Class<T> requiredType, T defaultValue) throws java.lang.IllegalArgumentException
key
- the attribute namedefaultValue
- the defaultjava.lang.IllegalArgumentException
- if the key is present but the value is not a number of the required typepublic <T extends java.lang.Number> T getRequiredNumber(java.lang.Object key, java.lang.Class<T> requiredType) throws java.lang.IllegalArgumentException
key
- the keyjava.lang.IllegalArgumentException
- if the key is not present or present but the value is not a number of the
required typepublic java.lang.Integer getInteger(java.lang.Object key) throws java.lang.IllegalArgumentException
null
if no value was found.key
- the keyjava.lang.IllegalArgumentException
- if the key is present but the value is not an integerpublic java.lang.Integer getInteger(java.lang.Object key, java.lang.Integer defaultValue) throws java.lang.IllegalArgumentException
key
- the keydefaultValue
- the defaultjava.lang.IllegalArgumentException
- if the key is present but the value is not an integerpublic java.lang.Integer getRequiredInteger(java.lang.Object key) throws java.lang.IllegalArgumentException
key
- the attribute namejava.lang.IllegalArgumentException
- if the key is not present or present but the value is not an integerpublic java.lang.Long getLong(java.lang.Object key) throws java.lang.IllegalArgumentException
null
if no value was found.key
- the keyjava.lang.IllegalArgumentException
- if the key is present but not a longpublic java.lang.Long getLong(java.lang.Object key, java.lang.Long defaultValue) throws java.lang.IllegalArgumentException
key
- the keydefaultValue
- the defaultjava.lang.IllegalArgumentException
- if the key is present but the value is not a longpublic java.lang.Long getRequiredLong(java.lang.Object key) throws java.lang.IllegalArgumentException
key
- the keyjava.lang.IllegalArgumentException
- if the key is not present or present but the value is not a longpublic java.lang.Boolean getBoolean(java.lang.Object key) throws java.lang.IllegalArgumentException
null
if no value was found.key
- the keyjava.lang.IllegalArgumentException
- if the key is present but the value is not a booleanpublic java.lang.Boolean getBoolean(java.lang.Object key, java.lang.Boolean defaultValue) throws java.lang.IllegalArgumentException
key
- the keydefaultValue
- the defaultjava.lang.IllegalArgumentException
- if the key is present but the value is not a booleanpublic java.lang.Boolean getRequiredBoolean(java.lang.Object key) throws java.lang.IllegalArgumentException
key
- the attributejava.lang.IllegalArgumentException
- if the key is not present or present but the value is not a booleanpublic void assertContainsKey(java.lang.Object key) throws java.lang.IllegalArgumentException
key
- the keyjava.lang.IllegalArgumentException
- if the key is not presentpublic boolean containsKey(java.lang.Object key, java.lang.Class<?> requiredType) throws java.lang.IllegalArgumentException
key
- the attribute namejava.lang.IllegalArgumentException
public <T> T assertKeyValueOfType(java.lang.Object key, java.lang.Class<T> requiredType)
key
- the attribute namerequiredType
- the required attribute value typepublic <T> T assertKeyValueInstanceOf(java.lang.Object key, java.lang.Object value, java.lang.Class<T> requiredType)
key
- the keyvalue
- the valuerequiredType
- the required type