Package org.apache.wicket.util.value
Class CopyOnWriteValueMap
- java.lang.Object
-
- org.apache.wicket.util.value.CopyOnWriteValueMap
-
- All Implemented Interfaces:
Serializable,Map<String,Object>,IValueMap
public class CopyOnWriteValueMap extends Object implements IValueMap, Serializable
An implementation ofIValueMapthat makes a copy when a caller tries to change an immutableMap. That is, theMapmay or may not be immutable, but if it is, a copy is made.- Since:
- 1.2.6
- Author:
- Johan Compagner, Doug Donohoe
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description CopyOnWriteValueMap(IValueMap wrapped)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()booleancontainsKey(Object key)booleancontainsValue(Object value)Set<Map.Entry<String,Object>>entrySet()booleanequals(Object o)Objectget(Object key)BooleangetAsBoolean(String key)Retrieves aBooleanvalue by key.booleangetAsBoolean(String key, boolean defaultValue)Retrieves abooleanvalue by key.DoublegetAsDouble(String key)Retrieves aDoublevalue by key.doublegetAsDouble(String key, double defaultValue)Retrieves adoublevalue by key.DurationgetAsDuration(String key)Retrieves aDurationvalue by key.DurationgetAsDuration(String key, Duration defaultValue)Retrieves aDurationvalue by key.<T extends Enum<T>>
TgetAsEnum(String key, Class<T> eClass)Retrieves anEnumvalue by key.<T extends Enum<T>>
TgetAsEnum(String key, Class<T> eClass, T defaultValue)Retrieves anEnumvalue by key.<T extends Enum<T>>
TgetAsEnum(String key, T defaultValue)Retrieves anEnumvalue by key.InstantgetAsInstant(String key)Retrieves aTimevalue by key.IntegergetAsInteger(String key)Retrieves anIntegervalue by key.intgetAsInteger(String key, int defaultValue)Retrieves anintegervalue by key.LonggetAsLong(String key)Retrieves aLongvalue by key.longgetAsLong(String key, long defaultValue)Retrieves alongvalue by key.InstantgetAsTime(String key, Instant defaultValue)Retrieves aTimevalue by key.booleangetBoolean(String key)Retrieves abooleanvalue by key.CharSequencegetCharSequence(String key)Retrieves aCharSequenceby key.doublegetDouble(String key)Retrieves adoublevalue by key.doublegetDouble(String key, double defaultValue)Retrieves adoublevalue by key, using a default value if not found.DurationgetDuration(String key)Retrieves aDurationby key.InstantgetInstant(String key)Retrieves aInstantobject by key.intgetInt(String key)Retrieves anintvalue by key.intgetInt(String key, int defaultValue)Retrieves anintvalue by key, using a default value if not found.StringgetKey(String key)Provided that the hash key is aStringand you need to access the value ignoring the key's case (upper- or lowercase letters), then you may use this method to get the correct writing.longgetLong(String key)Retrieves alongvalue by key.longgetLong(String key, long defaultValue)Retrieves alongvalue by key, using a default value if not found.StringgetString(String key)Retrieves aStringby key.StringgetString(String key, String defaultValue)Retrieves aStringby key, using a default value if not found.String[]getStringArray(String key)Retrieves aStringarray by key.StringValuegetStringValue(String key)Retrieves aStringValueobject by key.inthashCode()booleanisEmpty()booleanisImmutable()Returns whether or not thisIValueMapis immutable.Set<String>keySet()IValueMapmakeImmutable()Makes thisIValueMapimmutable by changing the underlying map representation to aCollections.unmodifiableMap.Objectput(String key, Object value)voidputAll(Map<? extends String,?> map)Objectremove(Object key)intsize()Collection<Object>values()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
Constructor Detail
-
CopyOnWriteValueMap
public CopyOnWriteValueMap(IValueMap wrapped)
Constructor.- Parameters:
wrapped- the wrappedIValueMap
-
-
Method Detail
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKeyin interfaceMap<String,Object>
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValuein interfaceMap<String,Object>
-
hashCode
public int hashCode()
-
getBoolean
public boolean getBoolean(String key) throws StringValueConversionException
Description copied from interface:IValueMapRetrieves abooleanvalue by key.- Specified by:
getBooleanin interfaceIValueMap- Parameters:
key- the key- Returns:
- the value
- Throws:
StringValueConversionException
-
getCharSequence
public CharSequence getCharSequence(String key)
Description copied from interface:IValueMapRetrieves aCharSequenceby key.- Specified by:
getCharSequencein interfaceIValueMap- Parameters:
key- the key- Returns:
- the
CharSequence
-
getDouble
public double getDouble(String key) throws StringValueConversionException
Description copied from interface:IValueMapRetrieves adoublevalue by key.- Specified by:
getDoublein interfaceIValueMap- Parameters:
key- the key- Returns:
- the value
- Throws:
StringValueConversionException
-
getDouble
public double getDouble(String key, double defaultValue)
Description copied from interface:IValueMapRetrieves adoublevalue by key, using a default value if not found.
-
getDuration
public Duration getDuration(String key) throws StringValueConversionException
Description copied from interface:IValueMapRetrieves aDurationby key.- Specified by:
getDurationin interfaceIValueMap- Parameters:
key- the key- Returns:
- the
Durationvalue - Throws:
StringValueConversionException
-
getInt
public int getInt(String key, int defaultValue)
Description copied from interface:IValueMapRetrieves anintvalue by key, using a default value if not found.
-
getInt
public int getInt(String key) throws StringValueConversionException
Description copied from interface:IValueMapRetrieves anintvalue by key.- Specified by:
getIntin interfaceIValueMap- Parameters:
key- the key- Returns:
- the value
- Throws:
StringValueConversionException
-
getKey
public String getKey(String key)
Description copied from interface:IValueMapProvided that the hash key is aStringand you need to access the value ignoring the key's case (upper- or lowercase letters), then you may use this method to get the correct writing.
-
getLong
public long getLong(String key, long defaultValue)
Description copied from interface:IValueMapRetrieves alongvalue by key, using a default value if not found.
-
getLong
public long getLong(String key) throws StringValueConversionException
Description copied from interface:IValueMapRetrieves alongvalue by key.- Specified by:
getLongin interfaceIValueMap- Parameters:
key- the key- Returns:
- the value
- Throws:
StringValueConversionException
-
getString
public String getString(String key, String defaultValue)
Description copied from interface:IValueMapRetrieves aStringby key, using a default value if not found.
-
getString
public String getString(String key)
Description copied from interface:IValueMapRetrieves aStringby key.
-
getStringArray
public String[] getStringArray(String key)
Description copied from interface:IValueMapRetrieves aStringarray by key. If the value was aString[]it will be returned directly. If it was aStringit will be converted to aStringarray of length one. If it was an array of another type, aStringarray will be made and each element will be converted to aString.- Specified by:
getStringArrayin interfaceIValueMap- Parameters:
key- the key- Returns:
- the
Stringarray of that key
-
getStringValue
public StringValue getStringValue(String key)
Description copied from interface:IValueMapRetrieves aStringValueobject by key.- Specified by:
getStringValuein interfaceIValueMap- Parameters:
key- the key- Returns:
- the
StringValueobject
-
getInstant
public Instant getInstant(String key) throws StringValueConversionException
Description copied from interface:IValueMapRetrieves aInstantobject by key.- Specified by:
getInstantin interfaceIValueMap- Parameters:
key- the key- Returns:
- the
Instantobject - Throws:
StringValueConversionException
-
isImmutable
public boolean isImmutable()
Description copied from interface:IValueMapReturns whether or not thisIValueMapis immutable.- Specified by:
isImmutablein interfaceIValueMap- Returns:
- whether or not this
IValueMapis immutable
-
makeImmutable
public IValueMap makeImmutable()
Description copied from interface:IValueMapMakes thisIValueMapimmutable by changing the underlying map representation to aCollections.unmodifiableMap. After calling this method, any attempt to modify thisIValueMapwill result in aRuntimeExceptionbeing thrown by theCollectionsframework.- Specified by:
makeImmutablein interfaceIValueMap- Returns:
- this
IValueMap
-
getAsBoolean
public Boolean getAsBoolean(String key)
Description copied from interface:IValueMapRetrieves aBooleanvalue by key.- Specified by:
getAsBooleanin interfaceIValueMap- Parameters:
key- the key- Returns:
- the value or null if value is not a valid boolean or no value is in this
IValueMap
-
getAsBoolean
public boolean getAsBoolean(String key, boolean defaultValue)
Description copied from interface:IValueMapRetrieves abooleanvalue by key.- Specified by:
getAsBooleanin interfaceIValueMap- Parameters:
key- the keydefaultValue- the default to return- Returns:
- the value or defaultValue if value is not a valid boolean or no value is in this
IValueMap
-
getAsInteger
public Integer getAsInteger(String key)
Description copied from interface:IValueMapRetrieves anIntegervalue by key.- Specified by:
getAsIntegerin interfaceIValueMap- Parameters:
key- the key- Returns:
- the value or null if value is not a valid integer or no value is in this
IValueMap
-
getAsInteger
public int getAsInteger(String key, int defaultValue)
Description copied from interface:IValueMapRetrieves anintegervalue by key.- Specified by:
getAsIntegerin interfaceIValueMap- Parameters:
key- the keydefaultValue- the default to return- Returns:
- the value or defaultValue if value is not a valid integer or no value is in this
IValueMap
-
getAsLong
public Long getAsLong(String key)
Description copied from interface:IValueMapRetrieves aLongvalue by key.
-
getAsLong
public long getAsLong(String key, long defaultValue)
Description copied from interface:IValueMapRetrieves alongvalue by key.
-
getAsDouble
public Double getAsDouble(String key)
Description copied from interface:IValueMapRetrieves aDoublevalue by key.- Specified by:
getAsDoublein interfaceIValueMap- Parameters:
key- the key- Returns:
- the value or null if value is not a valid double or no value is in this
IValueMap
-
getAsDouble
public double getAsDouble(String key, double defaultValue)
Description copied from interface:IValueMapRetrieves adoublevalue by key.- Specified by:
getAsDoublein interfaceIValueMap- Parameters:
key- the keydefaultValue- the default to return- Returns:
- the value or defaultValue if value is not a valid double or no value is in this
IValueMap
-
getAsDuration
public Duration getAsDuration(String key)
Description copied from interface:IValueMapRetrieves aDurationvalue by key.- Specified by:
getAsDurationin interfaceIValueMap- Parameters:
key- the key- Returns:
- the value or null if value is not a valid Duration or no value is in this
IValueMap
-
getAsDuration
public Duration getAsDuration(String key, Duration defaultValue)
Description copied from interface:IValueMapRetrieves aDurationvalue by key.- Specified by:
getAsDurationin interfaceIValueMap- Parameters:
key- the keydefaultValue- the default to return- Returns:
- the value or defaultValue if value is not a valid Duration or no value is in this
IValueMap
-
getAsInstant
public Instant getAsInstant(String key)
Description copied from interface:IValueMapRetrieves aTimevalue by key.- Specified by:
getAsInstantin interfaceIValueMap- Parameters:
key- the key- Returns:
- the value or null if value is not a valid Time or no value is in this
IValueMap
-
getAsTime
public Instant getAsTime(String key, Instant defaultValue)
Description copied from interface:IValueMapRetrieves aTimevalue by key.
-
getAsEnum
public <T extends Enum<T>> T getAsEnum(String key, Class<T> eClass)
Description copied from interface:IValueMapRetrieves anEnumvalue by key.
-
getAsEnum
public <T extends Enum<T>> T getAsEnum(String key, T defaultValue)
Description copied from interface:IValueMapRetrieves anEnumvalue by key.
-
getAsEnum
public <T extends Enum<T>> T getAsEnum(String key, Class<T> eClass, T defaultValue)
Description copied from interface:IValueMapRetrieves anEnumvalue by key.- Specified by:
getAsEnumin interfaceIValueMap- Type Parameters:
T- type of enum- Parameters:
key- the keyeClass- the enumeration classdefaultValue- the default value from the Enumeration (may be null)- Returns:
- the value or defaultValue if value is not a valid value of the Enumeration or no
value is in this
IValueMap
-
-