|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.vaadin.data.fieldgroup.FieldGroup
com.vaadin.data.fieldgroup.BeanFieldGroup<T>
public class BeanFieldGroup<T>
Nested Class Summary |
---|
Nested classes/interfaces inherited from class com.vaadin.data.fieldgroup.FieldGroup |
---|
FieldGroup.BindException, FieldGroup.CommitEvent, FieldGroup.CommitException, FieldGroup.CommitHandler, FieldGroup.FieldGroupInvalidValueException, FieldGroup.SearchException |
Constructor Summary | |
---|---|
BeanFieldGroup(java.lang.Class<T> beanType)
|
Method Summary | ||
---|---|---|
void |
bind(Field field,
java.lang.Object propertyId)
Binds the field with the given propertyId from the current item. |
|
static
|
bindFieldsBuffered(T bean,
java.lang.Object objectWithMemberFields)
Convenience method to bind Fields from a given "field container" to a given bean with buffering enabled. |
|
static
|
bindFieldsUnbuffered(T bean,
java.lang.Object objectWithMemberFields)
Convenience method to bind Fields from a given "field container" to a given bean with buffering disabled. |
|
|
buildAndBind(java.lang.String caption,
java.lang.Object propertyId,
java.lang.Class<T> fieldType)
Builds a field using the given caption and binds it to the given property id using the field binder. |
|
protected void |
configureField(Field<?> field)
Configures a field with the settings set for this FieldBinder. |
|
protected java.lang.Object |
findPropertyId(java.lang.reflect.Field memberField)
Searches for a property id from the current itemDataSource that matches the given memberField. |
|
BeanItem<T> |
getItemDataSource()
Gets the item used by this FieldBinder. |
|
protected java.lang.Class<?> |
getPropertyType(java.lang.Object propertyId)
Gets the type of the property with the given property id. |
|
protected static boolean |
isBeanValidationImplementationAvailable()
Checks whether a bean validation implementation (e.g. |
|
void |
setItemDataSource(Item item)
Updates the item that is used by this FieldBinder. |
|
void |
setItemDataSource(T bean)
Helper method for setting the data source directly using a bean. |
|
void |
unbind(Field<?> field)
Detaches the field from its property id and removes it from this FieldBinder. |
Methods inherited from class com.vaadin.data.fieldgroup.FieldGroup |
---|
addCommitHandler, bindMemberFields, build, buildAndBind, buildAndBind, buildAndBindMemberFields, buildAndBindMemberFields, clear, commit, discard, getBoundPropertyIds, getCommitHandlers, getField, getFieldFactory, getFields, getFieldsInDeclareOrder, getItemProperty, getPropertyId, getUnboundPropertyIds, isBuffered, isEnabled, isModified, isReadOnly, isValid, minifyFieldName, removeCommitHandler, setBuffered, setEnabled, setFieldFactory, setReadOnly, wrapInTransactionalProperty |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public BeanFieldGroup(java.lang.Class<T> beanType)
Method Detail |
---|
protected java.lang.Class<?> getPropertyType(java.lang.Object propertyId)
FieldGroup
getPropertyType
in class FieldGroup
propertyId
- The propertyId. Must be find
protected java.lang.Object findPropertyId(java.lang.reflect.Field memberField)
FieldGroup
If perfect match is not found, uses a case insensitive search that also ignores underscores. Returns null if no match is found. Throws a SearchException if no item data source has been set.
The propertyId search logic used by
buildAndBindMemberFields
can easily be customized by overriding this
method. No other changes are needed.
findPropertyId
in class FieldGroup
memberField
- The field an object id is searched for
public void setItemDataSource(T bean)
BeanItem
and calls
setItemDataSource(Item)
.
For null values, a null item is passed to
setItemDataSource(Item)
to be properly clear fields.
bean
- The bean to use as data source.public void setItemDataSource(Item item)
FieldGroup
setItemDataSource
in class FieldGroup
item
- The new item to usepublic BeanItem<T> getItemDataSource()
FieldGroup
FieldGroup.commit()
for the item to be updated unless buffered mode has
been switched off.
getItemDataSource
in class FieldGroup
FieldGroup.setBuffered(boolean)
,
FieldGroup.commit()
public void bind(Field field, java.lang.Object propertyId)
FieldGroup
FieldGroup.setItemDataSource(Item)
.
This method also adds validators when applicable.
bind
in class FieldGroup
field
- The field to bindpropertyId
- The propertyId to bind to the fieldpublic <T extends Field> T buildAndBind(java.lang.String caption, java.lang.Object propertyId, java.lang.Class<T> fieldType) throws FieldGroup.BindException
FieldGroup
buildAndBind
in class FieldGroup
caption
- The caption for the fieldpropertyId
- The property id to bind to. Must be present in the field
finder.
Field
.
FieldGroup.BindException
- If the field could not be createdpublic void unbind(Field<?> field) throws FieldGroup.BindException
FieldGroup
Note that the field is not detached from its property data source if it is no longer connected to the same property id it was bound to using this FieldBinder.
unbind
in class FieldGroup
field
- The field to detach
FieldGroup.BindException
- If the field is not bound by this field binder or not bound
to the correct property idprotected void configureField(Field<?> field)
FieldGroup
By default this updates the buffered, read only and enabled state of the field. Also adds validators when applicable. Fields with read only data source are always configured as read only.
configureField
in class FieldGroup
field
- The field to updateprotected static boolean isBeanValidationImplementationAvailable()
public static <T> BeanFieldGroup<T> bindFieldsUnbuffered(T bean, java.lang.Object objectWithMemberFields)
The returned BeanFieldGroup
can be used for further
configuration.
bean
- the bean to be boundobjectWithMemberFields
- the class that contains Field
s for bean properties
bindFieldsBuffered(Object, Object)
,
FieldGroup.bindMemberFields(Object)
public static <T> BeanFieldGroup<T> bindFieldsBuffered(T bean, java.lang.Object objectWithMemberFields)
The returned BeanFieldGroup
can be used for further
configuration.
bean
- the bean to be boundobjectWithMemberFields
- the class that contains Field
s for bean properties
bindFieldsUnbuffered(Object, Object)
,
FieldGroup.bindMemberFields(Object)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |