Drools support for kafka topics
[policy/drools-pdp.git] / feature-pooling-messages / src / main / java / org / onap / policy / drools / pooling / message / MessageWithAssignments.java
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP
4  * ================================================================================
5  * Copyright (C) 2018-2019, 2021 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2024 Nordix Foundation.
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.drools.pooling.message;
23
24 import lombok.Getter;
25 import lombok.NoArgsConstructor;
26 import lombok.Setter;
27 import org.onap.policy.drools.pooling.PoolingFeatureException;
28
29 /**
30  * A Message that includes bucket assignments.
31  */
32 @Setter
33 @Getter
34 @NoArgsConstructor
35 public class MessageWithAssignments extends Message {
36
37     /**
38      * Bucket assignments, as known by the source host.
39      */
40     private BucketAssignments assignments;
41
42
43     /**
44      * Constructor.
45      *
46      * @param source host on which the message originated
47      * @param assignments assignments
48      */
49     public MessageWithAssignments(String source, BucketAssignments assignments) {
50         super(source);
51
52         this.assignments = assignments;
53     }
54
55     /**
56      * If there are any assignments, it verifies there validity.
57      */
58     @Override
59     public void checkValidity() throws PoolingFeatureException {
60
61         super.checkValidity();
62
63         if (assignments != null) {
64             assignments.checkValidity();
65         }
66     }
67
68 }