8cb6c59167a3b3e6118f5e0e08e229b35f1dba97
[policy/apex-pdp.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2016-2018 Ericsson. All rights reserved.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.apex.context.parameters;
22
23 import org.onap.policy.apex.context.impl.distribution.jvmlocal.JvmLocalDistributor;
24 import org.onap.policy.common.parameters.GroupValidationResult;
25 import org.onap.policy.common.parameters.ParameterGroup;
26
27 /**
28  * An empty distributor parameter class that may be specialized by context distributor plugins that
29  * require plugin specific parameters. The class defines the default distributor plugin as the JVM
30  * local distributor.
31  *
32  * @author Liam Fallon (liam.fallon@ericsson.com)
33  */
34 public class DistributorParameters implements ParameterGroup {
35     /** The default distributor makes context albums available to all threads in a single JVM. */
36     public static final String DEFAULT_DISTRIBUTOR_PLUGIN_CLASS = JvmLocalDistributor.class.getName();
37
38     private String name;
39     private String pluginClass = DEFAULT_DISTRIBUTOR_PLUGIN_CLASS;
40
41     /**
42      * Constructor to create a distributor parameters instance and register the instance with the
43      * parameter service.
44      */
45     public DistributorParameters() {
46         super();
47         
48         // Set the name for the parameters
49         this.name = ContextParameterConstants.DISTRIBUTOR_GROUP_NAME;
50     }
51
52     /**
53      * Gets the plugin class.
54      *
55      * @return the plugin class
56      */
57     public String getPluginClass() {
58         return pluginClass;
59     }
60
61     /**
62      * Sets the plugin class.
63      *
64      * @param pluginClass the plugin class
65      */
66     public void setPluginClass(final String pluginClass) {
67         this.pluginClass = pluginClass;
68     }
69
70     @Override
71     public String toString() {
72         return "DistributorParameters [name=" + name + ", pluginClass=" + pluginClass + "]";
73     }
74
75     @Override
76     public String getName() {
77         return name;
78     }
79
80     @Override
81     public void setName(final String name) {
82         this.name = name;
83     }
84
85     @Override
86     public GroupValidationResult validate() {
87         return new GroupValidationResult(this);
88     }
89 }