1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.exoplatform.ecm.webui.form.field;
18
19 import org.exoplatform.ecm.webui.form.DialogFormField;
20 import org.exoplatform.services.cms.JcrInputProperty;
21 import org.exoplatform.webui.form.UIFormInputBase;
22 import org.exoplatform.webui.form.UIFormStringInput;
23
24
25
26
27
28
29
30 public class UIMixinField extends DialogFormField{
31
32 public UIMixinField(String name, String label, String[] arguments) {
33 super(name, label, arguments);
34 }
35
36 @SuppressWarnings("unchecked")
37 public <T extends UIFormInputBase> T createUIFormInput() throws Exception {
38 UIFormStringInput uiMixin = new UIFormStringInput(name, name, defaultValue) ;
39 if(label != null) uiMixin.setLabel(label) ;
40 return (T)uiMixin;
41 }
42
43 public JcrInputProperty createJcrInputProperty() {
44 JcrInputProperty inputProperty = new JcrInputProperty();
45 inputProperty.setJcrPath(jcrPath);
46 if(defaultValue != null && defaultValue.length() > 0) {
47 inputProperty.setValue(defaultValue) ;
48 }
49 if (nodeType != null || mixinTypes != null) {
50 inputProperty.setType(JcrInputProperty.NODE);
51 if(nodeType != null) inputProperty.setNodetype(nodeType);
52 if(mixinTypes != null) inputProperty.setMixintype(mixinTypes);
53 }
54 return inputProperty;
55 }
56 }