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 package info.magnolia.dam.external.app.field.factory;
35
36 import info.magnolia.cms.i18n.I18nContentSupport;
37 import info.magnolia.dam.api.metadata.AssetMetadataRegistry;
38 import info.magnolia.dam.external.app.field.AssetMetadataField;
39 import info.magnolia.dam.external.app.field.definition.AssetMetadataFieldDefinition;
40 import info.magnolia.objectfactory.ComponentProvider;
41 import info.magnolia.ui.form.field.factory.AbstractFieldFactory;
42 import info.magnolia.ui.form.field.factory.FieldFactoryFactory;
43
44 import javax.inject.Inject;
45
46 import com.vaadin.data.Item;
47 import com.vaadin.data.util.BeanItem;
48 import com.vaadin.ui.Field;
49
50
51
52
53 public class AssetMetadataFieldFactory extends AbstractFieldFactory<AssetMetadataFieldDefinition, BeanItem> {
54
55 private final FieldFactoryFactory fieldFactoryFactory;
56 private final I18nContentSupport i18nContentSupport;
57 private final ComponentProvider componentProvider;
58 private final AssetMetadataRegistry metadataRegistry;
59
60 @Inject
61 public AssetMetadataFieldFactory(AssetMetadataFieldDefinition definition, Item item, FieldFactoryFactory fieldFactoryFactory, I18nContentSupport i18nContentSupport, ComponentProvider componentProvider, AssetMetadataRegistry metadataRegistry) {
62 super(definition, item);
63 this.fieldFactoryFactory = fieldFactoryFactory;
64 this.componentProvider = componentProvider;
65 this.i18nContentSupport = i18nContentSupport;
66 this.metadataRegistry = metadataRegistry;
67 }
68
69 @Override
70 protected Field<BeanItem> createFieldComponent() {
71 return new AssetMetadataField(definition, fieldFactoryFactory, i18nContentSupport, componentProvider, metadataRegistry, item);
72 }
73
74 }