pretty builders
Change-Id: If03b60f97be1eba3803c6fcb328196a4a195c7e8
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/TrafficSelector.java b/core/api/src/main/java/org/onlab/onos/net/flow/TrafficSelector.java
index 906e505..249d1f9 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/TrafficSelector.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/TrafficSelector.java
@@ -2,7 +2,11 @@
import java.util.List;
+import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.flow.criteria.Criterion;
+import org.onlab.packet.IpPrefix;
+import org.onlab.packet.MacAddress;
+import org.onlab.packet.VlanId;
/**
* Abstraction of a slice of network traffic.
@@ -31,6 +35,69 @@
Builder add(Criterion criterion);
/**
+ * Matches an inport.
+ * @param port the inport
+ * @return a selection builder
+ */
+ public Builder matchInport(PortNumber port);
+
+ /**
+ * Matches a l2 src address.
+ * @param addr a l2 address
+ * @return a selection builder
+ */
+ public Builder matchEthSrc(MacAddress addr);
+
+ /**
+ * Matches a l2 dst address.
+ * @param addr a l2 address
+ * @return a selection builder
+ */
+ public Builder matchEthDst(MacAddress addr);
+
+ /**
+ * Matches the ethernet type.
+ * @param ethType an ethernet type
+ * @return a selection builder
+ */
+ public Builder matchEthType(short ethType);
+
+ /**
+ * Matches the vlan id.
+ * @param vlanId a vlan id
+ * @return a selection builder
+ */
+ public Builder matchVlanId(VlanId vlanId);
+
+ /**
+ * Matches a vlan priority.
+ * @param vlanPcp a vlan priority
+ * @return a selection builder
+ */
+ public Builder matchVlanPcp(Byte vlanPcp);
+
+ /**
+ * Matches the l3 protocol.
+ * @param proto a l3 protocol
+ * @return a selection builder
+ */
+ public Builder matchIPProtocol(Byte proto);
+
+ /**
+ * Matches a l3 address.
+ * @param ip a l3 address
+ * @return a selection builder
+ */
+ public Builder matchIPSrc(IpPrefix ip);
+
+ /**
+ * Matches a l3 address.
+ * @param ip a l3 address
+ * @return a selection builder
+ */
+ public Builder matchIPDst(IpPrefix ip);
+
+ /**
* Builds an immutable traffic selector.
*
* @return traffic selector