* 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.
/**
* 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;
}
/**
String actorName = getName();
// @formatter:off
- return Util.translate(actorName, actorParameters, HttpActorParams.class)
+ return Util.translate(actorName, actorParameters, paramsClass)
.doValidation(actorName)
.makeOperationParameters(actorName);
// @formatter:on