/*-
* ============LICENSE_START=======================================================
* PolicyEngineAPI
* ================================================================================
* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============LICENSE_END=========================================================
*/
package org.onap.policy.api;
import java.util.Map;
import java.util.Properties;
import javax.json.JsonObject;
import org.w3c.dom.Document;
/**
* Defines the objects that represent PolicyEngine config elements. PolicyConfig communicates the PolicyConfigStatus,
* PolicyConfigMessage, PolicyType, Properties, JsonObject, String and Document.
*
* @version 0.7
*/
public interface PolicyConfig {
/**
* Gets the {@link org.onap.policy.api.PolicyType} associated with PolicyConfig
*
* @return the PolicyType
associated with this PolicyConfig
*/
public PolicyType getType();
/**
* Gives the Properties
response associated with the PolicyConfig
*
* @return the Properties
associated with this PolicyConfig
*/
public Properties toProperties();
/**
* Gives the JsonObject
response associated with the PolicyConfig
*
* @return the JsonObject
result associated with PolicyConfig
*/
public JsonObject toJSON();
/**
* Gives the XML Document
result associated with PolicyConfig
*
* @return the Document
result associated with PolicyConfig
*/
public Document toXML();
/**
* Gives the Other String
response associated with PolicyConfig
*
* @return the String
result associated with PolicyConfig
*/
public String toOther();
/**
* Gets the {@link org.onap.policy.api.PolicyConfigStatus} associated with this PolicyConfig
.
*
* @return the PolicyConfigStatus
associated with this PolicyConfig
*/
public PolicyConfigStatus getPolicyConfigStatus();
/**
* Gets the String
of the PolicyConfigMessage from PolicyConfig
.
*
* @return the String
which consists of PolicyConfigMessage from PolicyConfig
*/
public String getPolicyConfigMessage();
/**
* Gets the String
of the PolicyName retrieved.
*
* @return the String
which consists of Policy Name which has been retrieved.
*/
public String getPolicyName();
/**
* Gets the String
of the PolicyVersion retrieved.
*
* @return the String
which consists of the Policy Version number which has been retrieved.
*/
public String getPolicyVersion();
/**
* Gets the Matching Conditions of the policy retrieved which can be used in the getConfig call.
*
* @return Map
of String, String
which consists of the Matching conditions of the Policy retrieved.
*/
public Map getMatchingConditions();
/**
* Gets the Response Attributes of the policy retrieved. Which can hold additional information about the policy retrieved.
*
* @return Map
of String, String
which consists of the Response Attributes of the Policy retrieved.
*/
public Map getResponseAttributes();
/**
* Returns the String
version of the PolicyConfig
object.
*
* @return String
of the PolicyConfig
Object.
*/
@Override
public String toString();
}