Skeletons for Intent-runtime, Flow-manager and Match-action modules.

This task is a part of ONOS-1395.
(Sub-tasks: ONOS-1397, ONOS-1398, ONOS-1400)

Change-Id: I30064f658b6c193aee8419079dad380163364475
diff --git a/src/main/java/net/onrc/onos/core/matchaction/MatchActionModule.java b/src/main/java/net/onrc/onos/core/matchaction/MatchActionModule.java
new file mode 100644
index 0000000..e0957f0
--- /dev/null
+++ b/src/main/java/net/onrc/onos/core/matchaction/MatchActionModule.java
@@ -0,0 +1,78 @@
+package net.onrc.onos.core.matchaction;
+
+import java.util.Collection;
+import java.util.EventListener;
+
+import net.onrc.onos.api.batchoperation.BatchOperation;
+import net.onrc.onos.api.flowmanager.ConflictDetectionPolicy;
+
+/**
+ * Manages Match-Action entries.
+ * <p>
+ * TODO: Make all methods thread-safe
+ */
+public class MatchActionModule implements IMatchActionService {
+
+    @Override
+    public boolean addMatchAction(MatchAction matchAction) {
+        BatchOperation<MatchAction> phase = new BatchOperation<MatchAction>();
+        phase.addAddOperation(matchAction);
+        MatchActionPlan plan = new MatchActionPlan();
+        plan.addPhase(phase);
+        return executePlan(plan);
+    }
+
+    @Override
+    public boolean removeMatchAction(String id) {
+        BatchOperation<MatchAction> phase = new BatchOperation<MatchAction>();
+        phase.addRemoveOperation(id);
+        MatchActionPlan plan = new MatchActionPlan();
+        plan.addPhase(phase);
+        return executePlan(plan);
+    }
+
+    @Override
+    public boolean updateMatchAction(MatchAction matchAction) {
+        BatchOperation<MatchAction> phase = new BatchOperation<MatchAction>();
+        phase.addUpdateOperation(matchAction.getId(), matchAction);
+        MatchActionPlan plan = new MatchActionPlan();
+        plan.addPhase(phase);
+        return executePlan(plan);
+    }
+
+    @Override
+    public Collection<MatchAction> getMatchActions() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public boolean executePlan(MatchActionPlan plan) {
+        // TODO Auto-generated method stub
+        return false;
+    }
+
+    @Override
+    public void setConflictDetectionPolicy(ConflictDetectionPolicy policy) {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public ConflictDetectionPolicy getConflictDetectionPolicy() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public void addEventListener(EventListener listener) {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public void removeEventListener(EventListener listener) {
+        // TODO Auto-generated method stub
+
+    }
+}