cb4c6128e1c43f07d484ccb055a97f654d3ab6d4
[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.apex.model.basicmodel.service.AbstractParameters;
25 import org.onap.policy.apex.model.basicmodel.service.ParameterService;
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 extends AbstractParameters {
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.getCanonicalName();
37
38     // Plugin class names
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(DistributorParameters.class.getCanonicalName());
47         ParameterService.registerParameters(DistributorParameters.class, this);
48     }
49
50     /**
51      * Constructor to create a distributor parameters instance with the name of a sub class of this
52      * class and register the instance with the parameter service.
53      *
54      * @param parameterClassName the class name of a sub class of this class
55      */
56     public DistributorParameters(final String parameterClassName) {
57         super(parameterClassName);
58     }
59
60     /**
61      * Gets the plugin class.
62      *
63      * @return the plugin class
64      */
65     public String getPluginClass() {
66         return pluginClass;
67     }
68
69     /**
70      * Sets the plugin class.
71      *
72      * @param pluginClass the plugin class
73      */
74     public void setPluginClass(final String pluginClass) {
75         this.pluginClass = pluginClass;
76     }
77
78     /*
79      * (non-Javadoc)
80      *
81      * @see org.onap.policy.apex.model.basicmodel.service.AbstractParameters#toString()
82      */
83     @Override
84     public String toString() {
85         return "DistributorParameters [pluginClass=" + pluginClass + "]";
86     }
87 }