Migrate pap startup & controllers to spring boot
[policy/pap.git] / main / src / main / java / org / onap / policy / pap / main / parameters / PdpParameters.java
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP PAP
4  * ================================================================================
5  * Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.policy.pap.main.parameters;
23
24 import java.util.concurrent.TimeUnit;
25 import lombok.Getter;
26 import lombok.Setter;
27 import org.onap.policy.common.parameters.ParameterGroupImpl;
28 import org.onap.policy.common.parameters.annotations.Min;
29 import org.onap.policy.common.parameters.annotations.NotBlank;
30 import org.onap.policy.common.parameters.annotations.NotNull;
31 import org.onap.policy.common.parameters.annotations.Valid;
32
33 /**
34  * Parameters for communicating with PDPs.
35  */
36 @NotNull
37 @NotBlank
38 @Getter
39 @Setter
40 public class PdpParameters extends ParameterGroupImpl {
41
42     /**
43      * Default maximum message age, in milliseconds, that should be examined. Any message
44      * older than this is discarded.
45      */
46     public static final long DEFAULT_MAX_AGE_MS = TimeUnit.MILLISECONDS.convert(10, TimeUnit.MINUTES);
47
48
49     @Min(1)
50     private long heartBeatMs;
51
52     @Min(1)
53     private long maxMessageAgeMs =  DEFAULT_MAX_AGE_MS;
54
55     @Valid
56     private PdpUpdateParameters updateParameters;
57     @Valid
58     private PdpStateChangeParameters stateChangeParameters;
59
60
61     /**
62      * Constructs the object.
63      */
64     public PdpParameters() {
65         super(PdpParameters.class.getSimpleName());
66     }
67 }