package eu.dnetlib.enabling.aas.rmi;


/**
 * Contains decision and obligations that the requesting service must perform.
 * Returned by <code>authorize(AuthorizeRequest request)</code> method of <code>A2Service</code>.
 * @author mhorst
 *
 */
public class AuthorizeResp extends A2Response {

	/**
	 * 
	 */
	private static final long serialVersionUID = 8312586329413346597L;

	private boolean authorized = false;

	private Obligation[] obligations;

	/**
	 * Default constructor for SOAP Xfire purposes.
	 */
	public AuthorizeResp() {
		
	}
	
	/**
	 * Returns true if authorized.
	 * @return true if authorized
	 */
	public boolean isAuthorized() {
		return authorized;
	}

	/**
	 * Sets authorized boolean value for response.
	 * @param authorized
	 */
	public void setAuthorized(boolean authorized) {
		this.authorized = authorized;
	}

	/**
	 * Returns all obligations of response.
	 * @return obligations
	 */
	public Obligation[] getObligations() {
		return obligations;
	}

	/**
	 * Sets obligations for response.
	 * @param obligations
	 */
	public void setObligations(Obligation[] obligations) {
		this.obligations = obligations;
	}
	
	/**
	 * Checks for obligations.
	 * @return true - if obligations found
	 */
	public boolean hasObligations(){
		return (obligations!=null && obligations.length!=0);
	}

}
