blob: de1f8ef272d4e610c6f1e69ba50037a794a9d216 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
/*
@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.ui;
import java.io.Serializable;
import com.vaadin.data.Container;
/**
* Factory interface for creating new Field-instances based on Container
* (datasource), item id, property id and uiContext (the component responsible
* for displaying fields). Currently this interface is used by {@link Table},
* but might later be used by some other components for {@link Field}
* generation.
*
* <p>
*
* @author Vaadin Ltd.
* @since 6.0
* @see FormFieldFactory
*/
public interface TableFieldFactory extends Serializable {
/**
* Creates a field based on the Container, item id, property id and the
* component responsible for displaying the field (most commonly
* {@link Table}).
*
* @param container
* the Container where the property belongs to.
* @param itemId
* the item Id.
* @param propertyId
* the Id of the property.
* @param uiContext
* the component where the field is presented.
* @return A field suitable for editing the specified data or null if the
* property should not be editable.
*/
Field<?> createField(Container container, Object itemId, Object propertyId,
Component uiContext);
}
|