org.millstone.base.data
Interface Property

All Known Implementing Classes:
AbstractField, Label, MethodProperty, ObjectProperty

public interface Property

Property is a simple data object that contains one typed value. This interface contains methods to inspect and modify the stored value and its type, and the object's read-only state. Property also defines the events ReadOnlyStatusChangeEvent and ValueChangeEvent, and the associated listener and notifier interfaces. The Property.Viewer interface should be used to attach the Property to an external data source. This way the value in the data source can be inspected using the Property interface. The Property.editor interface should be implemented if the value needs to be changed through the implementing class.

Since:
3.0
Version:
3.0.3
Author:
IT Mill Ltd

Nested Class Summary
static class Property.ConversionException
          An exception that signals that the value passed to the setValue() method couldn't be converted to the native type of the Property.
static interface Property.Editor
          Interface implemented by the editor classes capable of editing the Property.
static class Property.ReadOnlyException
          Exception object that signals that a requested Property modification failed because it's in read-only mode.
static interface Property.ReadOnlyStatusChangeEvent
          An Event object specifying the Property whose read-only status has been changed.
static interface Property.ReadOnlyStatusChangeListener
          The listener interface for receiving ReadOnlyStatusChangeEvent objects.
static interface Property.ReadOnlyStatusChangeNotifier
          The interface for adding and removing ReadOnlyStatusChangeEvent listeners.
static interface Property.ValueChangeEvent
          An Event object specifying the Property whose value has been changed.
static interface Property.ValueChangeListener
          The listener interface for receiving ValueChangeEvent objects.
static interface Property.ValueChangeNotifier
          The interface for adding and removing ValueChangeEvent listeners.
static interface Property.Viewer
          Interface implemented by the viewer classes capable of using a Property as a data source.
 
Method Summary
 java.lang.Class getType()
          Returns the type of the Property.
 java.lang.Object getValue()
          Gets the value stored in the Property.
 boolean isReadOnly()
          Tests if the Property is in read-only mode.
 void setReadOnly(boolean newStatus)
          Sets the Property's read-only mode to the specified status.
 void setValue(java.lang.Object newValue)
          Sets the value of the Property.
 java.lang.String toString()
          Returns the value of the Property in human readable textual format.
 

Method Detail

getValue

public java.lang.Object getValue()
Gets the value stored in the Property.

Returns:
the value stored in the Property

setValue

public void setValue(java.lang.Object newValue)
              throws Property.ReadOnlyException,
                     Property.ConversionException
Sets the value of the Property. Implementing this functionality is optional. If the functionality is missing, one should declare the Property to be in read-only mode and throw Property.ReadOnlyException in this function. It is not required, but highly recommended to support setting the value also as a String in addition to the native type of the Property (as given by the getType method). If the String conversion fails or is unsupported, the method should throw Property.ConversionException. The string conversion should at least understand the format returned by the toString() method of the Property.

Parameters:
newValue - New value of the Property. This should be assignable to the type returned by getType, but also String type should be supported
Throws:
Property.ReadOnlyException - if the object is in read-only mode
Property.ConversionException - if newValue can't be converted into the Property's native type directly or through String

toString

public java.lang.String toString()
Returns the value of the Property in human readable textual format. The return value should be assignable to the setValue method if the Property is not in read-only mode.

Overrides:
toString in class java.lang.Object
Returns:
String representation of the value stored in the Property

getType

public java.lang.Class getType()
Returns the type of the Property. The methods getValue and setValue must be compatible with this type: one must be able to safely cast the value returned from getValue to the given type and pass any variable assignable to this type as an argument to setValue.

Returns:
type of the Property

isReadOnly

public boolean isReadOnly()
Tests if the Property is in read-only mode. In read-only mode calls to the method setValue will throw ReadOnlyExceptions and will not modify the value of the Property.

Returns:
true if the Property is in read-only mode, false if it's not

setReadOnly

public void setReadOnly(boolean newStatus)
Sets the Property's read-only mode to the specified status. This functionality is optional, but all properties must implement the isReadOnly() mode query correctly.

Parameters:
newStatus - new read-only status of the Property


Copyright © 2000,2001,2002 IT Mill Ltd. All Rights Reserved.