com.vaadin.data.util
Class PropertyFormatter<T>

java.lang.Object
  extended by com.vaadin.data.util.AbstractProperty<String>
      extended by com.vaadin.data.util.PropertyFormatter<T>
All Implemented Interfaces:
Property<String>, Property.ReadOnlyStatusChangeListener, Property.ReadOnlyStatusChangeNotifier, Property.ValueChangeListener, Property.ValueChangeNotifier, Property.Viewer, Serializable

Deprecated. Since 7.0 replaced by Converter

@Deprecated
public abstract class PropertyFormatter<T>
extends AbstractProperty<String>
implements Property.Viewer, Property.ValueChangeListener, Property.ReadOnlyStatusChangeListener

Formatting proxy for a Property.

This class can be used to implement formatting for any type of Property datasources. The idea is to connect this as proxy between UI component and the original datasource.

For example

textfield.setPropertyDataSource(new PropertyFormatter(property) {
            public String format(Object value) {
                return ((Double) value).toString() + "000000000";
            }

            public Object parse(String formattedValue) throws Exception {
                return Double.parseDouble(formattedValue);
            }

        });
adds formatter for Double-typed property that extends standard "1.0" notation with more zeroes.

Since:
5.3.0
Author:
Vaadin Ltd.
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.vaadin.data.util.AbstractProperty
AbstractProperty.ReadOnlyStatusChangeEvent
 
Nested classes/interfaces inherited from interface com.vaadin.data.Property
Property.Editor, Property.ReadOnlyException, Property.ReadOnlyStatusChangeListener, Property.ReadOnlyStatusChangeNotifier, Property.Transactional<T>, Property.ValueChangeListener, Property.ValueChangeNotifier, Property.Viewer
 
Constructor Summary
protected PropertyFormatter()
          Deprecated. Construct a new PropertyFormatter that is not connected to any data source.
  PropertyFormatter(Property<T> propertyDataSource)
          Deprecated. Construct a new formatter that is connected to given data source.
 
Method Summary
abstract  String format(T value)
          Deprecated. This method must be implemented to format the values received from DataSource.
 Property<T> getPropertyDataSource()
          Deprecated. Gets the current data source of the formatter, if any.
 Class<String> getType()
          Deprecated. Returns the type of the Property.
 String getValue()
          Deprecated. Get the formatted value.
 boolean isReadOnly()
          Deprecated. Reflects the read-only status of the datasource.
abstract  T parse(String formattedValue)
          Deprecated. Parse string and convert it to format compatible with datasource.
 void readOnlyStatusChange(Property.ReadOnlyStatusChangeEvent event)
          Deprecated. Listens for changes in the datasource.
 void setPropertyDataSource(Property newDataSource)
          Deprecated. Sets the specified Property as the data source for the formatter.
 void setReadOnly(boolean newStatus)
          Deprecated. Sets the Property's read-only mode to the specified status.
 void setValue(Object newValue)
          Deprecated. Sets the value of the Property.
 void valueChange(Property.ValueChangeEvent event)
          Deprecated. Listens for changes in the datasource.
 
Methods inherited from class com.vaadin.data.util.AbstractProperty
addListener, addListener, fireReadOnlyStatusChange, fireValueChange, getListeners, removeListener, removeListener, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PropertyFormatter

protected PropertyFormatter()
Deprecated. 
Construct a new PropertyFormatter that is not connected to any data source. Call setPropertyDataSource(Property) later on to attach it to a property.


PropertyFormatter

public PropertyFormatter(Property<T> propertyDataSource)
Deprecated. 
Construct a new formatter that is connected to given data source. Calls format(Object) which can be a problem if the formatter has not yet been initialized.

Parameters:
propertyDataSource - to connect this property to.
Method Detail

getPropertyDataSource

public Property<T> getPropertyDataSource()
Deprecated. 
Gets the current data source of the formatter, if any.

Specified by:
getPropertyDataSource in interface Property.Viewer
Returns:
the current data source as a Property, or null if none defined.

setPropertyDataSource

public void setPropertyDataSource(Property newDataSource)
Deprecated. 
Sets the specified Property as the data source for the formatter.

Remember that new data sources getValue() must return objects that are compatible with parse() and format() methods.

Specified by:
setPropertyDataSource in interface Property.Viewer
Parameters:
newDataSource - the new data source Property.

getType

public Class<String> getType()
Deprecated. 
Description copied from interface: Property
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.

Specified by:
getType in interface Property<String>
Returns:
type of the Property

getValue

public String getValue()
Deprecated. 
Get the formatted value.

Specified by:
getValue in interface Property<String>
Returns:
If the datasource returns null, this is null. Otherwise this is String given by format().

isReadOnly

public boolean isReadOnly()
Deprecated. 
Reflects the read-only status of the datasource.

Specified by:
isReadOnly in interface Property<String>
Overrides:
isReadOnly in class AbstractProperty<String>
Returns:
true if the Property is in read-only mode, false if it's not

format

public abstract String format(T value)
Deprecated. 
This method must be implemented to format the values received from DataSource.

Parameters:
value - Value object got from the datasource. This is guaranteed to be non-null and of the type compatible with getType() of the datasource.
Returns:

parse

public abstract T parse(String formattedValue)
                 throws Exception
Deprecated. 
Parse string and convert it to format compatible with datasource. The method is required to assure that parse(format(x)) equals x.

Parameters:
formattedValue - This is guaranteed to be non-null string.
Returns:
Non-null value compatible with datasource.
Throws:
Exception - Any type of exception can be thrown to indicate that the conversion was not succesful.

setReadOnly

public void setReadOnly(boolean newStatus)
Deprecated. 
Sets the Property's read-only mode to the specified status.

Specified by:
setReadOnly in interface Property<String>
Overrides:
setReadOnly in class AbstractProperty<String>
Parameters:
newStatus - the new read-only status of the Property.

setValue

public void setValue(Object newValue)
              throws Property.ReadOnlyException
Deprecated. 
Description copied from interface: Property
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.

Specified by:
setValue in interface Property<String>
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

valueChange

public void valueChange(Property.ValueChangeEvent event)
Deprecated. 
Listens for changes in the datasource. This should not be called directly.

Specified by:
valueChange in interface Property.ValueChangeListener
Parameters:
event - value change event object

readOnlyStatusChange

public void readOnlyStatusChange(Property.ReadOnlyStatusChangeEvent event)
Deprecated. 
Listens for changes in the datasource. This should not be called directly.

Specified by:
readOnlyStatusChange in interface Property.ReadOnlyStatusChangeListener
Parameters:
event - Read-only status change event object


Copyright © 2000-2011 Vaadin Ltd. All Rights Reserved.