af5e4fd464af3ab45503967c707f681206df8c3f
[policy/models.git] / models-sim / models-sim-dmaap / src / main / java / org / onap / policy / models / sim / dmaap / parameters / DmaapSimParameterGroup.java
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2019 Nordix Foundation.
4  *  Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
5  * ================================================================================
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  * SPDX-License-Identifier: Apache-2.0
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.policy.models.sim.dmaap.parameters;
23
24 import lombok.Getter;
25 import org.onap.policy.common.parameters.ParameterGroupImpl;
26 import org.onap.policy.common.parameters.annotations.Min;
27 import org.onap.policy.common.parameters.annotations.NotBlank;
28 import org.onap.policy.common.parameters.annotations.NotNull;
29 import org.onap.policy.common.parameters.annotations.Valid;
30
31 /**
32  * Class to hold all parameters needed for the DMaaP simulator component.
33  */
34 @NotNull
35 @NotBlank
36 @Getter
37 public class DmaapSimParameterGroup extends ParameterGroupImpl {
38     private @Valid RestServerParameters restServerParameters;
39
40     /**
41      * Frequency, in seconds, with which to sweep the topics of idle consumers. On each
42      * sweep cycle, if a consumer group has had no new poll requests since the last sweep
43      * cycle, it is removed.
44      */
45     @Min(1)
46     private long topicSweepSec;
47
48     /**
49      * Create the DMaaP simulator parameter group.
50      *
51      * @param name the parameter group name
52      */
53     public DmaapSimParameterGroup(final String name) {
54         super(name);
55     }
56 }