Java 17 Upgrade
[policy/models.git] / models-interactions / model-actors / actorServiceProvider / src / main / java / org / onap / policy / controlloop / actorserviceprovider / impl / HttpActor.java
index 28b7b39..2821256 100644 (file)
@@ -3,6 +3,7 @@
  * ONAP
  * ================================================================================
  * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2023 Nordix Foundation.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,18 +28,27 @@ import org.onap.policy.controlloop.actorserviceprovider.parameters.HttpActorPara
 
 /**
  * Actor that uses HTTP, where the only additional property that an operator needs is a
- * URL. The actor's parameters must be an {@link HttpActorParams} and its operator
- * parameters are expected to be an {@link HttpParams}.
+ * URL. The actor's operator parameters are expected to be an
+ * {@link org.onap.policy.controlloop.actorserviceprovider.parameters.HttpParams}.
+ *
+ * @param <P> type of parameters
  */
-public class HttpActor extends ActorImpl {
+public class HttpActor<P extends HttpActorParams> extends ActorImpl {
+
+    /**
+     * Class of Actor parameters.
+     */
+    private final Class<P> paramsClass;
 
     /**
      * Constructs the object.
      *
      * @param name actor's name
+     * @param paramsClass class of parameters
      */
-    public HttpActor(String name) {
+    public HttpActor(String name, Class<P> paramsClass) {
         super(name);
+        this.paramsClass = paramsClass;
     }
 
     /**
@@ -50,7 +60,7 @@ public class HttpActor extends ActorImpl {
         String actorName = getName();
 
         // @formatter:off
-        return Util.translate(actorName, actorParameters, HttpActorParams.class)
+        return Util.translate(actorName, actorParameters, paramsClass)
                         .doValidation(actorName)
                         .makeOperationParameters(actorName);
         // @formatter:on