[ONOS-5916] Add a mapping instruction interface with impl classes

Change-Id: I21399cd9853fe4604641af5ad57cd61f02cf354c
diff --git a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingKey.java b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingKey.java
index 37c0a1a..cbce738 100644
--- a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingKey.java
+++ b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingKey.java
@@ -15,8 +15,35 @@
  */
 package org.onosproject.mapping;
 
+import org.onosproject.mapping.address.MappingAddress;
+
 /**
- * Abstraction of key of mapping information.
+ * Abstraction of network mapping key.
  */
 public interface MappingKey {
+
+    /**
+     * Returns a mapping address.
+     *
+     * @return a mapping address
+     */
+    MappingAddress address();
+
+    interface Builder {
+
+        /**
+         * Specifies a mapping address.
+         *
+         * @param address mapping address
+         * @return a mapping key builder
+         */
+        Builder withAddress(MappingAddress address);
+
+        /**
+         * Builds an immutable mapping key.
+         *
+         * @return a mapping key
+         */
+        MappingKey build();
+    }
 }