Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
TargetAccessRule |
|
| 1.0;1 |
1 | /* | |
2 | * Copyright (c) 2009, Swiss Federal Department of Defence Civil Protection and Sport | |
3 | * (http://www.vbs.admin.ch) | |
4 | * Copyright (c) 2009, Ergon Informatik AG (http://www.ergon.ch) | |
5 | * All rights reserved. | |
6 | * | |
7 | * Licensed under the Open Permis License which accompanies this distribution, | |
8 | * and is available at http://www.openpermis.org/BSDlicenceKent.txt | |
9 | */ | |
10 | package org.openpermis.policy; | |
11 | ||
12 | import java.net.URI; | |
13 | import java.util.List; | |
14 | ||
15 | ||
16 | ||
17 | /** | |
18 | * A target access rule defines a set of roles that are allowed to access a target. | |
19 | * @since 0.1.0 | |
20 | */ | |
21 | public interface TargetAccessRule | |
22 | extends Part | |
23 | { | |
24 | ||
25 | //---- Methods | |
26 | ||
27 | /** | |
28 | * Returns an authorized role set containing the set of roles that are needed to execute an | |
29 | * action on a target by this rule using the clock, and the obligations for this set of roles. | |
30 | * @param resourceUri an {@link URI} to identify a resource. | |
31 | * @param actionName the name of an action. | |
32 | * @param arguments an optional list of arguments for the action. | |
33 | * @param timeStamp a {@link TimeStamp} to determine the temporal time context. | |
34 | * @return an {@link AuthorizedRoles} containing the set of authorized roles and the set of | |
35 | * obligations if exists, <code>null</code> otherwise. | |
36 | * @since 0.3.0 | |
37 | */ | |
38 | public AuthorizedRoles findAuthorizedRoleSet ( | |
39 | URI resourceUri, | |
40 | String actionName, | |
41 | List<?> arguments, | |
42 | TimeStamp timeStamp | |
43 | ); | |
44 | ||
45 | } |