1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.x.form;
14
15 import java.util.HashMap;
16 import java.util.Map;
17
18 public class ComponentEnabler implements XFormFieldListener
19 {
20 private final XFormField formField;
21 private Map<XFormField,String> fields = new HashMap<XFormField,String>();
22
23 public ComponentEnabler(XFormField formField)
24 {
25 this.formField = formField;
26
27 formField.addFormFieldListener( this );
28 }
29
30 public void add(XFormField field, String value)
31 {
32 String fieldValue = formField.getValue();
33 field.setEnabled( fieldValue == null ? value == null : fieldValue.equals( value ));
34 fields.put( field, value );
35 }
36
37 public void valueChanged(XFormField sourceField, String newValue, String oldValue)
38 {
39 for( XFormField field : fields.keySet() )
40 {
41 field.setEnabled( newValue.equals( fields.get( field )) );
42 }
43 }
44 }