1 package us.codecraft.webmagic.selector;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6
7
8
9
10
11
12 public class OrSelector implements Selector {
13
14 private List<Selector> selectors = new ArrayList<Selector>();
15
16 public OrSelector(Selector... selectors) {
17 for (Selector selector : selectors) {
18 this.selectors.add(selector);
19 }
20 }
21
22 public OrSelector(List<Selector> selectors) {
23 this.selectors = selectors;
24 }
25
26 @Override
27 public String select(String text) {
28 for (Selector selector : selectors) {
29 String result = selector.select(text);
30 if (result != null) {
31 return result;
32 }
33 }
34 return null;
35 }
36
37 @Override
38 public List<String> selectList(String text) {
39 List<String> results = new ArrayList<String>();
40 for (Selector selector : selectors) {
41 List<String> strings = selector.selectList(text);
42 results.addAll(strings);
43 }
44 return results;
45 }
46 }