blob: 9ec49e4435d32be00b4db3da827ac26fd4b1bb07 [file] [log] [blame]
alshabib7b2748f2014-09-16 20:21:11 -07001package org.onlab.onos.net.flow;
2
3import static org.slf4j.LoggerFactory.getLogger;
4
5import java.util.Collections;
6import java.util.LinkedList;
7import java.util.List;
8
9import org.onlab.onos.net.flow.criteria.Criterion;
10import org.slf4j.Logger;
11
12public final class DefaultTrafficSelector implements TrafficSelector {
13
14 private final List<Criterion> selector;
15
16 private DefaultTrafficSelector(List<Criterion> selector) {
17 this.selector = Collections.unmodifiableList(selector);
18 }
19
20 @Override
21 public List<Criterion> criteria() {
22 return selector;
23 }
24
25 public static class Builder implements TrafficSelector.Builder {
26
27 private final Logger log = getLogger(getClass());
28
29 private final List<Criterion> selector = new LinkedList<>();
30
31 @Override
32 public TrafficSelector.Builder add(Criterion criterion) {
33 selector.add(criterion);
34 return this;
35 }
36
37 @Override
38 public TrafficSelector build() {
39 return new DefaultTrafficSelector(selector);
40 }
41
42 }
43
44}