[ONOS-3119] FlowClassifier installer impl.

Change-Id: I48b2378ad185528f5775f547bc965ebbbd009116
diff --git a/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/FlowClassifierInstallerService.java b/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/FlowClassifierInstallerService.java
new file mode 100644
index 0000000..fddcf4d
--- /dev/null
+++ b/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/FlowClassifierInstallerService.java
@@ -0,0 +1,40 @@
+package org.onosproject.sfc.installer;
+
+import org.onosproject.net.NshServicePathId;
+import org.onosproject.net.flowobjective.Objective.Operation;
+import org.onosproject.vtnrsc.FlowClassifier;
+import org.onosproject.vtnrsc.PortChain;
+import org.onosproject.vtnrsc.PortPair;
+
+/**
+ * Abstraction of an entity which installs flow classification rules in ovs.
+ */
+public interface FlowClassifierInstallerService {
+
+    /**
+     * Install Flow-Classifier.
+     *
+     * @param portChain port-chain
+     * @param nshSpiId nsh spi-id
+     */
+    void installFlowClassifier(PortChain portChain, NshServicePathId nshSpiId);
+
+    /**
+     * Uninstall Flow-Classifier.
+     *
+     * @param portChain port-chain
+     * @param nshSpiId nsh spi-id
+     */
+    void unInstallFlowClassifier(PortChain portChain, NshServicePathId nshSpiId);
+
+    /**
+     * Prepare forwarding object for flow classifier.
+     *
+     * @param flowClassifier flow classifier
+     * @param portPair port pair
+     * @param nshSpiId nsh spi id
+     * @param type forwarding objective operation type
+     */
+    void prepareFlowClassification(FlowClassifier flowClassifier, PortPair portPair, NshServicePathId nshSpiId,
+                                   Operation type);
+}