Support 7.2.1 VES in TCAGEN2
[dcaegen2/analytics/tca-gen2.git] / dcae-analytics / dcae-analytics-tca-core / src / main / java / org / onap / dcae / analytics / tca / core / service / TcaExecutionContext.java
1 /*
2  * ============LICENSE_START=======================================================
3  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
4  * Copyright (c) 2022 Wipro Limited 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  * ============LICENSE_END=========================================================
18  *
19  */
20
21 package org.onap.dcae.analytics.tca.core.service;
22
23 import java.util.List;
24 import org.onap.dcae.analytics.tca.model.policy.TcaPolicy;
25
26 /**
27  * TCA Execution context captures various fields required to calculate a TCA threshold violation calculation execution
28  *
29  * @author Rajiv Singla
30  */
31 public interface TcaExecutionContext {
32
33     /**
34      * Provides request id associated with execution context
35      *
36      * @return request id associated with execution context
37      */
38     String getRequestId();
39
40
41     /**
42      * Provides transaction id associated with execution context
43      *
44      * @return transaction id associated with execution context
45      */
46     String getTransactionId();
47
48
49     /**
50      * Provides message order number inside a execution batch
51      *
52      * @return message order number inside a execution batch
53      */
54     int getMessageIndex();
55
56
57     /**
58      * Provides common event format message as JSON string that is being analyzed
59      *
60      * @return common event format message as JSON string that is being analyzed
61      */
62     String getCefMessage();
63
64
65     /**
66      * Provides TCA Policy associated with the processing context
67      *
68      * @return TCA Policy associated with processing context
69      */
70     List<TcaPolicy> getTcaPolicy();
71
72
73     /**
74      * Provides TCA Processing Context captures various mutable fields that are computed during TCA execution
75      *
76      * @return TCA Processing Context captures various mutable fields that are computed during TCA execution
77      */
78     TcaProcessingContext getTcaProcessingContext();
79
80
81     /**
82      * Provides TCA Processing Result Context which captures outputs of TCA execution
83      *
84      * @return TCA Processing Result Context which captures outputs of TCA execution
85      */
86     TcaResultContext getTcaResultContext();
87
88
89     /**
90      * Provides TCA Abatement context containing abstractions for TCA Abatement processing calculations
91      *
92      * @return TCA abatement context containing abstractions for TCA Abatement processing calculations
93      */
94     TcaAbatementContext getTcaAbatementContext();
95
96
97     /**
98      * Provides TCA AAI Enrichment Context
99      *
100      * @return TCA AAI enrichment context
101      */
102     TcaAaiEnrichmentContext getTcaAaiEnrichmentContext();
103
104 }