ONOS-7898 Action profile group/member refactoring

Also includes:
- New abstract P4Runtime codec implementation. Currently used for action
profile members/groups encoding/deconding, the plan is to handle all
other codecs via this.
- Improved read requests in P4RuntimeClientImpl
- Removed handling of max group size in P4Runtime driver. Instead, added
modified group translator to specify a max group size by using
information from the pipeline model.

Change-Id: I684bae0184d683bb448ba19863c561f9848479d2
diff --git a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/P4RuntimeMirror.java b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/P4RuntimeMirror.java
index 51b31aa..d62bbb8 100644
--- a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/P4RuntimeMirror.java
+++ b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/mirror/P4RuntimeMirror.java
@@ -75,10 +75,19 @@
     void remove(H handle);
 
     /**
+     * Returns a map of handles and corresponding PI entities for the given
+     * device.
+     *
+     * @param deviceId device ID
+     * @return map of handles and corresponding PI entities
+     */
+    Map<H, E> deviceHandleMap(DeviceId deviceId);
+
+    /**
      * Stores the given annotations associating it to the given handle.
      *
-     * @param handle handle
-     * @param annotations  entry
+     * @param handle      handle
+     * @param annotations entry
      */
     void putAnnotations(H handle, Annotations annotations);