lumis.portal.propertybag
Class PropertyBag

Package class diagram package PropertyBag
java.lang.Object
  extended by lumis.portal.propertybag.PropertyBag

@StableMinor(version="5.5",
             sinceVersion="5.0")
public class PropertyBag
extends Object

Object that represents a property bag.

This is a property bag that contains name value pairs where name is a string that is unique within a property bag and the value is a Property object.

A property bag may have a parent property bag from which it may inherit properties. Properties inherited from a parent property bag may be overridden in the child property bag.

Since:
5.0.0

Constructor Summary
PropertyBag()
           
 
Method Summary
 String getId()
          Returns the identifier of this property bag.
 Property getLocalProperty(String propertyName)
          Returns a property in this property bag.
 Map<String,Property> getLocalPropertyMap()
          Returns all the properties in this property bag.
 PropertyBag getParentPropertyBag()
          Returns the parent property bag object.
 Property getProperty(String propertyName)
          Returns a property of this property bag.
 Map<String,Property> getPropertyMap()
          Returns the aggregated properties of this property bag.
 String getValue(String propertyName, String defaultValue)
          Returns the value of a property in this bag, applying all property value evaluation rules.
 Map<String,List<String>> getValueMap()
          Returns a Map containing all property values of this bag, applying all property value evaluation rules.
 List<String> getValues(String propertyName, List<String> defaultValues)
          Returns the values of a property in this bag, applying all property values evaluation rules.
 void removeProperty(String propertyName)
          Removes a property from this property bag.
 void resetDefaultValues(String propertyName)
          Resets a property default values, so that it will be inherited from the parent property bag.
 void setDefaultValue(String propertyName, String value)
          Sets the default value for a property.
 void setDefaultValues(String propertyName, List<String> values)
          Sets the default values for a property.
 void setParentPropertyBag(PropertyBag parentPropertyBag)
          Sets the parent property bag.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropertyBag

public PropertyBag()
Method Detail

getId

public String getId()
Returns the identifier of this property bag.

Returns:
the identifier of this property bag.
Since:
5.0.0

getParentPropertyBag

public PropertyBag getParentPropertyBag()
Returns the parent property bag object.

Returns:
the parent property bag.
Since:
5.0.0

setParentPropertyBag

public void setParentPropertyBag(PropertyBag parentPropertyBag)
Sets the parent property bag.

Parameters:
parentPropertyBag - the parent property bag.
Since:
5.0.0

getLocalPropertyMap

public Map<String,Property> getLocalPropertyMap()
Returns all the properties in this property bag.

This method does not take into consideration the properties that may be inherited from the parent property bag.

Returns:
the properties stored directly in this property bag.
Since:
5.0.0
See Also:
getValueMap(), getPropertyMap()

getLocalProperty

public Property getLocalProperty(String propertyName)
                          throws PortalException
Returns a property in this property bag.

Inherited properties are not returned.

Parameters:
propertyName - name of the property to return.
Returns:
the property.
Throws:
IllegalArgumentException - if propertyName is null.
PortalObjectNotFoundException - if no property with the given name was found.
PortalException
Since:
5.0.0

getProperty

public Property getProperty(String propertyName)
                     throws PortalException
Returns a property of this property bag.

The property may be an inherited property, from other property bag.

Parameters:
propertyName - name of the property to return.
Returns:
the property.
Throws:
IllegalArgumentException - if propertyName is null.
PortalObjectNotFoundException - if no property with the given name was found.
PortalException
Since:
5.0.0
See Also:
getValue(String, String), getValues(String, List)

getPropertyMap

public Map<String,Property> getPropertyMap()
Returns the aggregated properties of this property bag.

If this property bag has a parent property bag, the properties of the parent are first called and subsequently the local properties are merged with the inherited ones. If there are properties with the same name, the local property is preserved discarding the inherited property.

Returns:
the properties.
Since:
5.0.0
See Also:
getValueMap(), getLocalPropertyMap()

removeProperty

public void removeProperty(String propertyName)
                    throws PortalException
Removes a property from this property bag. This will remove all values for the specified property in this property bag (but will not affect the persistence of inherited or inheriting properties).

Parameters:
propertyName - name of the property to remove.
Throws:
IllegalArgumentException - if propertyName is null.
PortalObjectNotFoundException - if no property with the given name was found.
PortalException
Since:
5.0.0

getValueMap

public Map<String,List<String>> getValueMap()
Returns a Map containing all property values of this bag, applying all property value evaluation rules.

The key of the map is the property name and the value of the map is the list of values for each property. If no property exist in this bag, this method returns an empty Map.

Returns:
an immutable Map containing property names as keys and property values as map values, or an empty Map if no property exist.
Since:
5.0.0

getValue

public String getValue(String propertyName,
                       String defaultValue)
Returns the value of a property in this bag, applying all property value evaluation rules. If the property has multiple values, the first one is returned.

Parameters:
propertyName - the property name.
defaultValue - the value to return if there is no value for the property.
Returns:
the evaluated value, or defaultValue if the evaluation found no value for the property.
Throws:
IllegalArgumentException - if propertyName is null.
Since:
5.0.0

getValues

public List<String> getValues(String propertyName,
                              List<String> defaultValues)
Returns the values of a property in this bag, applying all property values evaluation rules.

Parameters:
propertyName - the property name.
defaultValues - the values to return if there is no value for the property.
Returns:
the evaluated values, or defaultValues if the evaluation found no value for the property.
Throws:
IllegalArgumentException - if propertyName is null.
Since:
5.0.0

setDefaultValue

public void setDefaultValue(String propertyName,
                            String value)
Sets the default value for a property. If the property already has any default value in this property bag, it is overwritten.

Parameters:
propertyName - the property name.
value - the value. If null, the default value will be inherited. To set as no value and override inheritance, use setDefaultValues(String, List).
Throws:
IllegalArgumentException - if propertyName or value is null.
Since:
5.0.0

setDefaultValues

public void setDefaultValues(String propertyName,
                             List<String> values)
Sets the default values for a property. If the property already has any default value in this property bag, it is overwritten.

Parameters:
propertyName - the property name.
values - the values. If it is an empty list, the property will explicitly have no value (and will not inherit its parent's values).
Throws:
IllegalArgumentException - if propertyName or values is null.
Since:
5.0.0

resetDefaultValues

public void resetDefaultValues(String propertyName)
Resets a property default values, so that it will be inherited from the parent property bag. If the parent property bag has no value for such property, the property will have no value.

Parameters:
propertyName - the property name.
Throws:
IllegalArgumentException - if propertyName is null.
Since:
5.0.0


Lumisportal  5.5.0.091130 - Copyright © 2001-2007, Lumis. All Rights Reserved.