net.infonode.properties.base

Interface Property

public interface Property

A property is belongs to a {@link PropertyGroup} and contains name, description, type etc. A property can have multiple values which can be stored in any type of object.

Version: $Revision: 1.7 $

Author: $Author: jesper $

Method Summary
booleancanBeAssiged(Object value)
Returns true if the value can be assigned to this property.
StringgetDescription()
Returns a description of this property.
PropertyGroupgetGroup()
Returns the property group that this property belongs to.
StringgetName()
Returns the property name.
ClassgetType()
Returns the value type of this property.
ObjectgetValue(Object valueContainer)
Returns the value of this property in a value container.
booleanisMutable()
Returns true if this property is mutable.
voidremoveValue(Object valueContainer)
Removes the value of this property from an valueContainer.
voidsetValue(Object valueContainer, Object value)
Sets the value of this property in an object.
booleanvalueIsRemovable(Object valueContainer)
Returns true if the value of this property can be removed from the valueContainer.
booleanvalueIsSet(Object valueContainer)
Returns true if this property has a value in the valueContainer.

Method Detail

canBeAssiged

public boolean canBeAssiged(Object value)
Returns true if the value can be assigned to this property.

Parameters: value the value to assign

Returns: true if the value can be assigned to this property

getDescription

public String getDescription()
Returns a description of this property.

Returns: a description of this property

getGroup

public PropertyGroup getGroup()
Returns the property group that this property belongs to.

Returns: the property group that this property belongs to

getName

public String getName()
Returns the property name.

Returns: the property name

getType

public Class getType()
Returns the value type of this property. The property can only be set to values that are of this class or a sub class of this class.

Returns: the value type of this property

getValue

public Object getValue(Object valueContainer)
Returns the value of this property in a value container.

Parameters: valueContainer the object containing the value

Returns: the value of this property in an valueContainer, null if the container doesn't contain the value

Throws: InvalidPropertyException if the property can not be read from the value container

isMutable

public boolean isMutable()
Returns true if this property is mutable.

Returns: true if this property is mutable

removeValue

public void removeValue(Object valueContainer)
Removes the value of this property from an valueContainer.

Parameters: valueContainer the object in which to remove the value

Throws: ImmutablePropertyException if the property is immutable CantRemoveValueException if the property value can't be removed from the valueContainer

setValue

public void setValue(Object valueContainer, Object value)
Sets the value of this property in an object.

Parameters: valueContainer the object to set the property value in value the value of the property

Throws: ImmutablePropertyException if this property is immutable InvalidPropertyException if this property can't be set in the object InvalidPropertyValueException if the property value is invalid

valueIsRemovable

public boolean valueIsRemovable(Object valueContainer)
Returns true if the value of this property can be removed from the valueContainer.

Parameters: valueContainer the object from which to remove the value

Returns: true if the value of this property can be removed from the valueContainer

valueIsSet

public boolean valueIsSet(Object valueContainer)
Returns true if this property has a value in the valueContainer.

Parameters: valueContainer the object that might contain the value

Returns: true if this property has a value in the valueContainer