DCAE-D be initial commit
[sdc/dcae-d/dt-be-main.git] / dcaedt_be / src / main / java / org / onap / sdc / dcae / rule / editor / enums / RuleEditorElementType.java
1 package org.onap.sdc.dcae.rule.editor.enums;
2
3 import java.util.Arrays;
4
5 import org.onap.sdc.dcae.rule.editor.translators.ConditionGroupTranslator;
6 import org.onap.sdc.dcae.rule.editor.translators.ConditionTranslator;
7 import org.onap.sdc.dcae.rule.editor.translators.CopyActionTranslator;
8 import org.onap.sdc.dcae.rule.editor.translators.DateFormatterTranslator;
9 import org.onap.sdc.dcae.rule.editor.translators.FieldConditionTranslator;
10 import org.onap.sdc.dcae.rule.editor.translators.IRuleElementTranslator;
11 import org.onap.sdc.dcae.rule.editor.translators.MapActionTranslator;
12 import org.onap.sdc.dcae.rule.editor.translators.MappingRulesTranslator;
13 import org.onap.sdc.dcae.rule.editor.translators.RegexActionTranslator;
14 import org.onap.sdc.dcae.rule.editor.translators.RuleTranslator;
15 import org.onap.sdc.dcae.rule.editor.validators.ActionValidator;
16 import org.onap.sdc.dcae.rule.editor.validators.ConcatActionValidator;
17 import org.onap.sdc.dcae.rule.editor.validators.ConditionGroupValidator;
18 import org.onap.sdc.dcae.rule.editor.validators.ConditionValidator;
19 import org.onap.sdc.dcae.rule.editor.validators.DateFormatterValidator;
20 import org.onap.sdc.dcae.rule.editor.validators.IRuleElementValidator;
21 import org.onap.sdc.dcae.rule.editor.validators.MapActionValidator;
22 import org.onap.sdc.dcae.rule.editor.validators.RuleValidator;
23
24 public enum RuleEditorElementType {
25         COPY("Copy", ActionValidator.getInstance(), CopyActionTranslator.getInstance()),
26         CONCAT("Concat", ConcatActionValidator.getInstance(), CopyActionTranslator.getInstance()),
27         MAP("Map", MapActionValidator.getInstance(), MapActionTranslator.getInstance()),
28         REGEX("Regex", ActionValidator.getInstance(), RegexActionTranslator.getInstance()),
29         DATE_FORMATTER("DateFormatter", DateFormatterValidator.getInstance(), DateFormatterTranslator.getInstance()),
30         CONDITION("Condition", ConditionValidator.getInstance(), ConditionTranslator.getInstance()),
31         FIELD_CONDITION("FieldCondition", ConditionValidator.getInstance(), FieldConditionTranslator.getInstance()),
32         CONDITION_GROUP("ConditionGroup", ConditionGroupValidator.getInstance(), ConditionGroupTranslator.getInstance()),
33         RULE("Rule", RuleValidator.getInstance(), RuleTranslator.getInstance()),
34         MAPPING_RULES("MappingRules", null, MappingRulesTranslator.getInstance());
35
36         private String elementType;
37         private IRuleElementValidator validator;
38         private IRuleElementTranslator translator;
39
40         public IRuleElementValidator getValidator() {
41                 return validator;
42         }
43
44         public IRuleElementTranslator getTranslator() {
45                 return translator;
46         }
47
48         RuleEditorElementType(String elementType, IRuleElementValidator validator, IRuleElementTranslator translator) {
49                 this.elementType = elementType;
50                 this.validator = validator;
51                 this.translator = translator;
52         }
53
54         public static RuleEditorElementType getElementTypeByName(String name) {
55                 return Arrays.stream(RuleEditorElementType.values()).filter(p -> p.elementType.equalsIgnoreCase(name))
56                                 .findAny().orElse(null);
57         }
58 }