package eu.dnetlib.enabling.aas;

import eu.dnetlib.enabling.aas.xacml.ctx.ResponseType;
import eu.dnetlib.enabling.aas.xacml.ctx.ResultType;


/**
 * Abstract DNet AAResponse.
 * @author mhorst
 *
 */
public abstract class DNetAAResponse {

	
	/**
	 * XACML evaluation response.
	 */
	protected ResponseType xacmlResponse;
	
	/**
	 * Array of DNetAAError objects.
	 */
	protected DNetAAError[] errors = null;
	
	/**
	 * Returns security operation XACML result.
	 * @return security operation XACML result
	 */
	public ResultType getResult() {
		return xacmlResponse!=null?xacmlResponse.getResult():null;
	}
	
	/**
	 * Returns array of errors.
	 * @return array of errors
	 */
	public DNetAAError[] getErrors() {
		return errors;
	}

	/**
	 * Sets array of errors.
	 * @param errors
	 */
	public void setErrors(DNetAAError... errors) {
		this.errors = errors;
	}
	
	/**
	 * Returns XACML evaluation response.
	 * @return XACML evaluation response
	 */
	public ResponseType getXacmlResponse() {
		return xacmlResponse;
	}

	/**
	 * Sets XACML evaluation response.
	 * @param xacmlResponse
	 */
	public void setXacmlResponse(ResponseType xacmlResponse) {
		this.xacmlResponse = xacmlResponse;
	}
	
}
