Coverage Report - org.openpermis.audit.VetoableAccessDecisionListener
 
Classes in this File Line Coverage Branch Coverage Complexity
VetoableAccessDecisionListener
N/A
N/A
1
 
 1  
 /*
 2  
  * Copyright (c) 2009, Ergon Informatik AG (http://www.ergon.ch)
 3  
  * All rights reserved.
 4  
  * 
 5  
  * Licensed under the Open Permis License which accompanies this distribution, 
 6  
  * and is available at http://www.openpermis.org/BSDlicenceKent.txt
 7  
  */
 8  
 package org.openpermis.audit;
 9  
 
 10  
 import org.openpermis.PolicyDecisionException;
 11  
 import org.openpermis.policy.AccessDecision;
 12  
 
 13  
 
 14  
 /**
 15  
  * Listener for audit events.
 16  
  * <p>Vetoable access decision listeners are attached to specialized 
 17  
  * {@link org.openpermis.PolicyDecisionPoint}s that support audit event listeners.</p>
 18  
  * @since 0.3.0
 19  
  */
 20  
 public interface VetoableAccessDecisionListener {
 21  
 
 22  
         //---- Methods
 23  
 
 24  
         /**
 25  
          * This method gets called when an access decision has been reached.
 26  
          * @param request the request parameters for the access decision.
 27  
          * @param decision the calculated access decision.
 28  
          * @throws AccessDecisionVetoException if the recipient wishes to veto the access decision.
 29  
          * @since 0.3.0
 30  
          */
 31  
         public void vetoableAccessDecision (
 32  
                 AccessDecisionRequest request, AccessDecision decision
 33  
         )
 34  
                 throws AccessDecisionVetoException;
 35  
         
 36  
         /**
 37  
          * This method gets called if the PDP fails to determine an access decision.
 38  
          * @param request the request parameters for the access decisions.
 39  
          * @param exception the exception that caused the failure in the PDP.
 40  
          * @since 0.3.0
 41  
          */
 42  
         public void accessDecisionFailure (
 43  
                 AccessDecisionRequest request, PolicyDecisionException exception
 44  
         );
 45  
         
 46  
 }