Added a set of abstractions for flow rule subsystem.
Added an apps source subtree.
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/Criteria.java b/core/api/src/main/java/org/onlab/onos/net/flow/Criteria.java
new file mode 100644
index 0000000..9595797
--- /dev/null
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/Criteria.java
@@ -0,0 +1,25 @@
+package org.onlab.onos.net.flow;
+
+/**
+ * Factory class to create various traffic selection criteria.
+ */
+public final class Criteria {
+
+    // Ban construction
+    private Criteria() {
+    }
+
+    /**
+     * Creates a match on ETH_SRC field using the specified value. This value
+     * may be a wildcard mask.
+     *
+     * @param macValue MAC address value or wildcard mask
+     * @return match criterion
+     */
+    public static Criterion matchEthSrc(MACValue macValue) {
+        return null;
+    }
+
+    // Dummy to illustrate the concept for now; delete ASAP
+    private static class MACValue { }
+}