1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.struts2.views.xslt;
19
20 import java.util.ArrayList;
21 import java.util.Collection;
22 import java.util.List;
23
24 import org.apache.commons.logging.Log;
25 import org.apache.commons.logging.LogFactory;
26 import org.w3c.dom.Node;
27
28
29 /***
30 */
31 public class CollectionAdapter extends AbstractAdapterElement {
32
33 private Log log = LogFactory.getLog(this.getClass());
34
35 public CollectionAdapter() { }
36
37 public CollectionAdapter(AdapterFactory rootAdapterFactory, AdapterNode parent, String propertyName, Object value) {
38 setContext(rootAdapterFactory, parent, propertyName, value);
39 }
40
41 protected List<Node> buildChildAdapters() {
42 Collection values = (Collection) getPropertyValue();
43 List<Node> children = new ArrayList<Node>(values.size());
44
45 for (Object value : values) {
46 Node childAdapter = getAdapterFactory().adaptNode(this, "item", value);
47 if (childAdapter != null)
48 children.add(childAdapter);
49
50 if (log.isDebugEnabled()) {
51 log.debug(this + " adding adapter: " + childAdapter);
52 }
53 }
54
55 return children;
56 }
57 }