Class ColumnProperty
- java.lang.Object
-
- com.vaadin.data.util.sqlcontainer.ColumnProperty
-
- All Implemented Interfaces:
Property
,Serializable
public final class ColumnProperty extends 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
Nested Classes Modifier and Type Class Description class
ColumnProperty.NotNullableException
An exception that signals that anull
value was passed to thesetValue
method, but the value of this property can not be set tonull
.-
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
Constructors Constructor Description ColumnProperty(String propertyId, boolean readOnly, boolean allowReadOnlyChange, boolean nullable, boolean primaryKey, Object value, Class<?> type)
Creates a new ColumnProperty instance.ColumnProperty(String propertyId, boolean readOnly, boolean allowReadOnlyChange, boolean nullable, Object value, Class<?> type)
Deprecated.As of 7.0.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
commit()
Object
getOldValue()
Returns the original non-modified value of this property if it has been modified.String
getPropertyId()
Class<?>
getType()
Returns the type of the Property.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 usingsetReadOnly(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(Object newValue)
Sets the value of the Property.void
setVersionColumn(boolean versionColumn)
String
toString()
Deprecated.As of 7.0.
-
-
-
Constructor Detail
-
ColumnProperty
@Deprecated public ColumnProperty(String propertyId, boolean readOnly, boolean allowReadOnlyChange, boolean nullable, Object value, Class<?> type)
Deprecated.As of 7.0. Useinstead
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(String propertyId, boolean readOnly, boolean allowReadOnlyChange, boolean nullable, boolean primaryKey, Object value, 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 Object getValue()
Returns the current value for this property. To get the previous value (if one exists) for a modified property usegetOldValue()
.
-
getOldValue
public 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(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
Note : Since Vaadin 7.0, setting the value of a non-String property as a String is no longer supported.Property.ReadOnlyException
in this function.- Specified by:
setValue
in interfaceProperty
- 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 modeConverter.ConversionException
-
getType
public Class<?> getType()
Description copied from interface:Property
Returns the type of the Property. The methodsgetValue
andsetValue
must be compatible with this type: one must be able to safely cast the value returned fromgetValue
to the given type and pass any variable assignable to this type as an argument tosetValue
.
-
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 methodsetValue
will throwReadOnlyException
and will not modify the value of the Property.- Specified by:
isReadOnly
in interfaceProperty
- 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 usingsetReadOnly(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 theisReadOnly
mode query correctly.- Specified by:
setReadOnly
in interfaceProperty
- Parameters:
newStatus
- new read-only status of the Property
-
isPrimaryKey
public boolean isPrimaryKey()
-
getPropertyId
public String getPropertyId()
-
toString
@Deprecated public String toString()
Deprecated.As of 7.0. To get the property value, usegetValue()
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 classObject
- 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()
-
-