net.infonode.properties.base
Interface Property

All Known Implementing Classes:
AbstractProperty

public interface Property

A property is belongs to a 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 $

Method Summary
 boolean canBeAssiged(Object value)
          Returns true if the value can be assigned to this property.
 String getDescription()
          Returns a description of this property.
 PropertyGroup getGroup()
          Returns the property group that this property belongs to.
 String getName()
          Returns the property name.
 Class getType()
          Returns the value type of this property.
 Object getValue(Object valueContainer)
          Returns the value of this property in a value container.
 boolean isMutable()
          Returns true if this property is mutable.
 void removeValue(Object valueContainer)
          Removes the value of this property from an valueContainer.
 void setValue(Object valueContainer, Object value)
          Sets the value of this property in an object.
 boolean valueIsRemovable(Object valueContainer)
          Returns true if the value of this property can be removed from the valueContainer.
 boolean valueIsSet(Object valueContainer)
          Returns true if this property has a value in the valueContainer.
 

Method Detail

getName

public String getName()
Returns the property name.

Returns:
the property name

getDescription

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

Returns:
a description of this property

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

getGroup

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

Returns:
the property group that this property belongs to

getValue

public Object getValue(Object valueContainer)
                throws InvalidPropertyException
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

setValue

public void setValue(Object valueContainer,
                     Object value)
              throws ImmutablePropertyException,
                     InvalidPropertyException,
                     InvalidPropertyValueException
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

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

isMutable

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

Returns:
true if this property is mutable

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

removeValue

public void removeValue(Object valueContainer)
                 throws ImmutablePropertyException,
                        CantRemoveValueException
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


Copyright © 2007 NNL Technology AB. All Rights Reserved.