[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();
+ }
}