com.vaadin.data
Interface Property<T>

All Superinterfaces:
Serializable
All Known Subinterfaces:
Field<T>, Property.Transactional<T>
All Known Implementing Classes:
AbstractField, AbstractProperty, AbstractSelect, AbstractTextField, CheckBox, ColumnProperty, ComboBox, CustomField, DateField, Form, InlineDateField, Label, ListSelect, MethodProperty, NativeSelect, NestedMethodProperty, ObjectProperty, OptionGroup, PasswordField, PopupDateField, ProgressIndicator, PropertyFormatter, RichTextArea, Select, Slider, Table, TextArea, TextField, TextFileProperty, TransactionalPropertyWrapper, Tree, TreeTable, TwinColSelect

public interface Property<T>
extends Serializable

The 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.

The 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:
7.0.0.alpha3
Author:
Vaadin Ltd

Nested Class Summary
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.Transactional<T>
          A Property that is capable of handle a transaction that can end in commit or rollback.
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
 Class<? extends T> getType()
          Returns the type of the Property.
 T 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(Object newValue)
          Sets the value of the Property.
 

Method Detail

getValue

T getValue()
Gets the value stored in the Property. The returned object is compatible with the class returned by getType().

Returns:
the value stored in the Property

setValue

void setValue(Object newValue)
              throws Property.ReadOnlyException
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.

Note : Since Vaadin 7.0, setting the value of a non-String property as a String is no longer supported.

Parameters:
newValue - New value of the Property. This should be assignable to the type returned by getType
Throws:
Property.ReadOnlyException - if the object is in read-only mode

getType

Class<? extends T> 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

boolean isReadOnly()
Tests if the Property is in read-only mode. In read-only mode calls to the method setValue will throw ReadOnlyException 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

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-2011 Vaadin Ltd. All Rights Reserved.