Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
VetoableAccessDecisionListener |
|
| 1.0;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 | } |