DCAE-D be initial commit
[sdc/dcae-d/dt-be-main.git] / dcaedt_be / src / main / java / org / onap / sdc / dcae / rule / editor / translators / IRuleElementTranslator.java
1 package org.onap.sdc.dcae.rule.editor.translators;
2
3 import com.google.gson.annotations.SerializedName;
4 import org.onap.sdc.common.onaplog.OnapLoggerDebug;
5 import org.onap.sdc.common.onaplog.OnapLoggerError;
6
7 import java.util.ArrayList;
8 import java.util.List;
9
10 public interface IRuleElementTranslator<T> {
11
12         OnapLoggerError errLogger = OnapLoggerError.getInstance();
13         OnapLoggerDebug debugLogger = OnapLoggerDebug.getInstance();
14         
15         Translation translateToHpJson(T element);
16
17         abstract class Translation {
18         }
19
20         class ProcessorTranslation extends Translation {
21                 @SerializedName("class")
22                 protected String clazz;
23         }
24
25
26         class FiltersTranslation extends ProcessorTranslation {
27                 protected List<Translation> filters;
28
29                 protected FiltersTranslation(String clazz, List<Translation> filters) {
30                         this.clazz = clazz;
31                         this.filters = filters;
32                 }
33         }
34
35         class RuleTranslation extends Translation {
36                 protected String phase;
37                 protected Translation filter;
38                 protected List<Translation> processors = new ArrayList<>();
39         }
40
41         class RunPhaseProcessorsTranslation extends ProcessorTranslation {
42                 protected String phase;
43
44                 protected RunPhaseProcessorsTranslation(String runPhase){
45                         clazz ="RunPhase";
46                         phase = runPhase;
47                 }
48         }
49
50 }