de.cesr.lara.components.environment.impl
Class LEnvironmentalProperty<ValueType>

java.lang.Object
  extended by de.cesr.lara.components.LaraProperty<LAbstractEnvironmentalProperty<V>,V>
      extended by de.cesr.lara.components.environment.impl.LAbstractEnvironmentalProperty<ValueType>
          extended by de.cesr.lara.components.environment.impl.LEnvironmentalProperty<ValueType>
Type Parameters:
ValueType - type of value

public class LEnvironmentalProperty<ValueType>
extends LAbstractEnvironmentalProperty<ValueType>


Field Summary
protected  ValueType value
           
 
Fields inherited from class de.cesr.lara.components.environment.impl.LAbstractEnvironmentalProperty
environment
 
Constructor Summary
LEnvironmentalProperty(String key, ValueType value, LaraEnvironment env)
           
 
Method Summary
 LEnvironmentalProperty<ValueType> getModifiedProperty(ValueType value)
           
 ValueType getValue()
          NOTE: Since LaraPropertys are meant to be immutable we avoid a member in this class which is not private (members other than private allow implementing a subclass that hurts the immutability).
 
Methods inherited from class de.cesr.lara.components.environment.impl.LAbstractEnvironmentalProperty
getEnvironment
 
Methods inherited from class de.cesr.lara.components.LaraProperty
equals, getKey, getRefreshedProperty, getTimestamp, hashCode, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

value

protected ValueType value
Constructor Detail

LEnvironmentalProperty

public LEnvironmentalProperty(String key,
                              ValueType value,
                              LaraEnvironment env)
Parameters:
key -
value -
env -
Method Detail

getModifiedProperty

public LEnvironmentalProperty<ValueType> getModifiedProperty(ValueType value)
Specified by:
getModifiedProperty in class LaraProperty<LAbstractEnvironmentalProperty<ValueType>,ValueType>
Returns:
a new property with new value and key and current time stamp
See Also:
LaraProperty.getModifiedProperty(java.lang.Object)

getValue

public ValueType getValue()
Description copied from class: LaraProperty
NOTE: Since LaraPropertys are meant to be immutable we avoid a member in this class which is not private (members other than private allow implementing a subclass that hurts the immutability). However, implementing the getValue() method requires a non-private member because subclasses need the ability to override getValues() and access value in case they need to return and create a deep copy of value in order to prevent external changes in the value (which is true for most non-primitive data types).

Specified by:
getValue in class LaraProperty<LAbstractEnvironmentalProperty<ValueType>,ValueType>
Returns:
the property's value
See Also:
LaraProperty.getValue()