ONOS-7066 ONOS-7067 PI abstractions refactoring and P4Info model parser

Includes changes previously reviewed in #15607, #15877, and #15955.

Change-Id: Ie2ff62e415f2099832ebfe05961a879b7b188fc3
diff --git a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiTableAction.java b/core/api/src/main/java/org/onosproject/net/pi/runtime/PiTableAction.java
index cacb49e..7d25e1a 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiTableAction.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/runtime/PiTableAction.java
@@ -19,19 +19,15 @@
 import com.google.common.annotations.Beta;
 
 /**
- * An action that can be executed as a consequence of a match in a match+action table of a protocol-independent
- * pipeline.
+ * Instance of an action that can be executed as a consequence of a match in a match+action table of a
+ * protocol-independent pipeline.
  */
 @Beta
 public interface PiTableAction {
 
     /**
-     * Type of this action.
-     *
-     * @return a type
+     * Types of table action.
      */
-    Type type();
-
     enum Type {
         /**
          * Simple action with runtime parameters set by the control plane.
@@ -48,4 +44,11 @@
          */
         GROUP_MEMBER_ID
     }
+
+    /**
+     * Type of this action.
+     *
+     * @return a type
+     */
+    Type type();
 }