pretty builders
Change-Id: If03b60f97be1eba3803c6fcb328196a4a195c7e8
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficSelector.java b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficSelector.java
index 9ec49e4..8f68ea5 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficSelector.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/DefaultTrafficSelector.java
@@ -6,7 +6,12 @@
import java.util.LinkedList;
import java.util.List;
+import org.onlab.onos.net.PortNumber;
+import org.onlab.onos.net.flow.criteria.Criteria;
import org.onlab.onos.net.flow.criteria.Criterion;
+import org.onlab.packet.IpPrefix;
+import org.onlab.packet.MacAddress;
+import org.onlab.packet.VlanId;
import org.slf4j.Logger;
public final class DefaultTrafficSelector implements TrafficSelector {
@@ -29,11 +34,47 @@
private final List<Criterion> selector = new LinkedList<>();
@Override
- public TrafficSelector.Builder add(Criterion criterion) {
+ public Builder add(Criterion criterion) {
selector.add(criterion);
return this;
}
+ public Builder matchInport(PortNumber port) {
+ return add(Criteria.matchInPort(port));
+ }
+
+ public Builder matchEthSrc(MacAddress addr) {
+ return add(Criteria.matchEthSrc(addr));
+ }
+
+ public Builder matchEthDst(MacAddress addr) {
+ return add(Criteria.matchEthDst(addr));
+ }
+
+ public Builder matchEthType(short ethType) {
+ return add(Criteria.matchEthType(ethType));
+ }
+
+ public Builder matchVlanId(VlanId vlanId) {
+ return add(Criteria.matchVlanId(vlanId));
+ }
+
+ public Builder matchVlanPcp(Byte vlanPcp) {
+ return add(Criteria.matchVlanPcp(vlanPcp));
+ }
+
+ public Builder matchIPProtocol(Byte proto) {
+ return add(Criteria.matchIPProtocol(proto));
+ }
+
+ public Builder matchIPSrc(IpPrefix ip) {
+ return add(Criteria.matchIPSrc(ip));
+ }
+
+ public Builder matchIPDst(IpPrefix ip) {
+ return add(Criteria.matchIPDst(ip));
+ }
+
@Override
public TrafficSelector build() {
return new DefaultTrafficSelector(selector);