2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.policy.xacml.api.pap;
23 import com.fasterxml.jackson.annotation.JsonSubTypes;
24 import com.fasterxml.jackson.annotation.JsonSubTypes.Type;
25 import com.fasterxml.jackson.annotation.JsonTypeInfo;
28 import java.util.List;
31 import org.onap.policy.xacml.std.pap.StdPAPPolicy;
34 * The following allows us to use Jackson to convert sub-types of this type into JSON and back to objects.
36 @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "PAPPolicyType")
37 @JsonSubTypes({@Type(value = StdPAPPolicy.class, name = "StdPAPPolicy")})
38 public interface OnapPAPPolicy {
40 public String getPolicyName();
42 public String getOldPolicyFileName();
44 public String getPolicyDescription();
46 public String getOnapName();
48 public String getConfigName();
50 public Map<String, String> getDynamicFieldConfigAttributes();
52 public Map<String, String> getTreatments();
54 public Map<String, String> getDynamicSettingsMap();
56 public List<String> getDynamicRuleAlgorithmLabels();
58 public List<String> getDynamicRuleAlgorithmCombo();
60 public List<String> getDynamicRuleAlgorithmField1();
62 public List<String> getDynamicRuleAlgorithmField2();
64 public List<Object> getDynamicVariableList();
66 public List<String> getDataTypeList();
68 public String getConfigBodyData();
70 public String getPolicyID();
72 public String getRuleID();
74 public String getConfigType();
76 public Boolean isEditPolicy();
78 public Boolean isDraft();
80 public String getVersion();
82 public String getDomainDir();
84 public String getConfigPolicyType();
86 public String getJsonBody();
88 public Integer getHighestVersion();
90 public URI getLocation();
92 public String getActionPerformer();
94 public String getActionAttribute();
96 public String getActionBody();
98 public Map<String, String> getDropDownMap();
100 public String getActionDictHeader();
102 public String getActionDictType();
104 public String getActionDictUrl();
106 public String getActionDictMethod();
108 public String getServiceType();
110 public String getUuid();
112 public String getMsLocation();
114 public String getPriority();
116 public String getDeleteCondition();
118 public String getDictionaryType();
120 public String getDictionary();
122 public String getDictionaryFields();
124 public String getRiskLevel();
126 public String getGuard();
128 public String getRiskType();
130 public String getTTLDate();