1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package de.mindcrimeilab.xsanalyzer.model;
19
20 import java.util.Map.Entry;
21
22 import javax.swing.ListModel;
23 import javax.xml.namespace.QName;
24
25 import org.apache.xerces.xs.XSObjectList;
26 import org.springframework.core.closure.Constraint;
27 import org.springframework.richclient.list.FilteredListModel;
28
29 import de.mindcrimeilab.xsanalyzer.ui.ListModelFactory;
30
31
32
33
34
35
36
37
38 public class SameNameDetailListModelFactory implements ListModelFactory<Entry<QName, XSObjectList>> {
39
40 private final Constraint constraint;
41
42 public SameNameDetailListModelFactory() {
43 this(null);
44 }
45
46 public SameNameDetailListModelFactory(Constraint constraint) {
47 super();
48 this.constraint = constraint;
49 }
50
51
52
53
54
55
56 @Override
57 public ListModel createListModel(Entry<QName, XSObjectList> value) {
58 final ListModel retValue;
59 if (null == constraint) {
60 retValue = new XSObjectListModelAdapter(value.getValue());
61 }
62 else {
63 retValue = new FilteredListModel(new XSObjectListModelAdapter(value.getValue()), constraint);
64 }
65 return retValue;
66 }
67 }