com.vaadin.data.util.sqlcontainer
Class ColumnProperty

java.lang.Object
  extended by com.vaadin.data.util.sqlcontainer.ColumnProperty
All Implemented Interfaces:
Property, java.io.Serializable

public final class ColumnProperty
extends java.lang.Object
implements Property

ColumnProperty represents the value of one column in a RowItem. In addition to the value, ColumnProperty also contains some basic column attributes such as nullability status, read-only status and data type. Note that depending on the QueryDelegate in use this does not necessarily map into an actual column in a database table.

See Also:
Serialized Form

Nested Class Summary
 class ColumnProperty.NotNullableException
          An exception that signals that a null value was passed to the setValue method, but the value of this property can not be set to null.
 
Nested classes/interfaces inherited from interface com.vaadin.data.Property
Property.Editor, Property.ReadOnlyException, Property.ReadOnlyStatusChangeEvent, Property.ReadOnlyStatusChangeListener, Property.ReadOnlyStatusChangeNotifier, Property.Transactional<T>, Property.ValueChangeEvent, Property.ValueChangeListener, Property.ValueChangeNotifier, Property.Viewer
 
Constructor Summary
ColumnProperty(java.lang.String propertyId, boolean readOnly, boolean allowReadOnlyChange, boolean nullable, boolean primaryKey, java.lang.Object value, java.lang.Class<?> type)
          Creates a new ColumnProperty instance.
ColumnProperty(java.lang.String propertyId, boolean readOnly, boolean allowReadOnlyChange, boolean nullable, java.lang.Object value, java.lang.Class<?> type)
          Deprecated. As of 7.0. Use {@link #ColumnProperty(String, boolean, boolean, boolean, boolean, Object, Class) instead
 
Method Summary
 void commit()
           
 java.lang.Object getOldValue()
          Returns the original non-modified value of this property if it has been modified.
 java.lang.String getPropertyId()
           
 java.lang.Class<?> getType()
          Returns the type of the Property.
 java.lang.Object getValue()
          Returns the current value for this property.
 boolean isModified()
           
 boolean isNullable()
           
 boolean isPersistent()
          Return whether the value of this property should be persisted to the database.
 boolean isPrimaryKey()
           
 boolean isReadOnly()
          Tests if the Property is in read-only mode.
 boolean isReadOnlyChangeAllowed()
          Returns whether the read-only status of this property can be changed using setReadOnly(boolean).
 boolean isRowIdentifier()
          Returns whether or not this property is used as a row identifier.
 boolean isVersionColumn()
           
 void setOwner(RowItem owner)
           
 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.
 void setVersionColumn(boolean versionColumn)
           
 java.lang.String toString()
          Deprecated. As of 7.0. To get the property value, use getValue() instead (and possibly toString on that)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ColumnProperty

@Deprecated
public ColumnProperty(java.lang.String propertyId,
                                 boolean readOnly,
                                 boolean allowReadOnlyChange,
                                 boolean nullable,
                                 java.lang.Object value,
                                 java.lang.Class<?> type)
Deprecated. As of 7.0. Use {@link #ColumnProperty(String, boolean, boolean, boolean, boolean, Object, Class) instead

Deprecated constructor for ColumnProperty. If this is used the primary keys are not identified correctly in some cases for some databases (i.e. Oracle). See http://dev.vaadin.com/ticket/9145.

Parameters:
propertyId -
readOnly -
allowReadOnlyChange -
nullable -
value -
type -

ColumnProperty

public ColumnProperty(java.lang.String propertyId,
                      boolean readOnly,
                      boolean allowReadOnlyChange,
                      boolean nullable,
                      boolean primaryKey,
                      java.lang.Object value,
                      java.lang.Class<?> type)
Creates a new ColumnProperty instance.

Parameters:
propertyId - The ID of this property.
readOnly - Whether this property is read-only.
allowReadOnlyChange - Whether the read-only status of this property can be changed.
nullable - Whether this property accepts null values.
primaryKey - Whether this property corresponds to a database primary key.
value - The value of this property.
type - The type of this property.
Method Detail

getValue

public java.lang.Object getValue()
Returns the current value for this property. To get the previous value (if one exists) for a modified property use getOldValue().

Specified by:
getValue in interface Property
Returns:

getOldValue

public java.lang.Object getOldValue()
Returns the original non-modified value of this property if it has been modified.

Returns:
The original value if isModified() is true, getValue() otherwise.

setValue

public void setValue(java.lang.Object newValue)
              throws Property.ReadOnlyException,
                     Converter.ConversionException
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
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
Converter.ConversionException

getType

public java.lang.Class<?> getType()
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
Returns:
type of the Property

isReadOnly

public boolean isReadOnly()
Description copied from interface: Property
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.

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

isReadOnlyChangeAllowed

public boolean isReadOnlyChangeAllowed()
Returns whether the read-only status of this property can be changed using setReadOnly(boolean).

Used to prevent setting to read/write mode a property that is not allowed to be written by the underlying database. Also used for values like VERSION and AUTO_INCREMENT fields that might be set to read-only by the container but the database still allows writes.

Returns:
true if the read-only status can be changed, false otherwise.

setReadOnly

public void setReadOnly(boolean newStatus)
Description copied from interface: Property
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.

Specified by:
setReadOnly in interface Property
Parameters:
newStatus - new read-only status of the Property

isPrimaryKey

public boolean isPrimaryKey()

getPropertyId

public java.lang.String getPropertyId()

toString

@Deprecated
public java.lang.String toString()
Deprecated. As of 7.0. To get the property value, use getValue() instead (and possibly toString on that)

Returns a string representation of this object. The returned string representation depends on if the legacy Property toString mode is enabled or disabled.

If legacy Property toString mode is enabled, returns the value of this Property converted to a String.

If legacy Property toString mode is disabled, the string representation has no special meaning

Overrides:
toString in class java.lang.Object
Returns:
A string representation of the value value stored in the Property or a string representation of the Property object.
See Also:
LegacyPropertyHelper.isLegacyToStringEnabled()

setOwner

public void setOwner(RowItem owner)

isModified

public boolean isModified()

isVersionColumn

public boolean isVersionColumn()

setVersionColumn

public void setVersionColumn(boolean versionColumn)

isNullable

public boolean isNullable()

isPersistent

public boolean isPersistent()
Return whether the value of this property should be persisted to the database.

Returns:
true if the value should be written to the database, false otherwise.

isRowIdentifier

public boolean isRowIdentifier()
Returns whether or not this property is used as a row identifier.

Returns:
true if the property is a row identifier, false otherwise.

commit

public void commit()


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