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/model/PiActionModel.java b/core/api/src/main/java/org/onosproject/net/pi/model/PiActionModel.java
index 8fd8dc4..4dad230 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/model/PiActionModel.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/model/PiActionModel.java
@@ -18,7 +18,7 @@
import com.google.common.annotations.Beta;
-import java.util.List;
+import java.util.Collection;
import java.util.Optional;
/**
@@ -26,26 +26,27 @@
*/
@Beta
public interface PiActionModel {
- /**
- * Returns the name of this action.
- *
- * @return a string value
- */
- String name();
/**
- * Returns the model of this action's parameter defined by the given name, if present.
+ * Returns the ID of the action.
*
- * @param name action name
+ * @return action ID
+ */
+ PiActionId id();
+
+ /**
+ * Returns the model of the action's parameter defined by the given ID, if present.
+ *
+ * @param paramId parameter ID
* @return action parameter model
*/
- Optional<PiActionParamModel> param(String name);
+ Optional<PiActionParamModel> param(PiActionParamId paramId);
/**
- * Returns the list of action parameter models, ordered according to the same action parameters
- * defined in the pipeline model.
+ * Returns the collection of all parameter models for the action, or an empty collection if this action has no
+ * parameters.
*
- * @return list of action parameter models
+ * @return collection of action parameter models
*/
- List<PiActionParamModel> params();
+ Collection<PiActionParamModel> params();
}