1 /*
2 * Copyright (c) 2003
3 * Information Desire GmbH
4 * All rights reserved.
5 */
6 package com.infodesire.infobit.data;
7
8 import java.util.Set;
9 import java.util.Collection;
10 /***
11 * ACL is access control list for various infobits. Treat is as "security
12 * domain". several infobits will share same security domain. ACL lists several
13 * "capabilities" and binds them to certain user "roles". Normally users have
14 * nothing to do with ACL. Acl can not be manipulated directly - this shall be
15 * done {@see AclManager } instance
16 *
17 * @author konstantin
18 * @created August 6, 2003
19 * @version $Revision: 1.4 $
20 */
21 public interface Acl {
22
23 /***
24 * unique name of given ACL. name shall not change after creation.
25 *
26 * @return name
27 */
28 String getName();
29
30
31 /***
32 * collection of infobits under control of this acl. do not dare to modify
33 * this collection.
34 *
35 * @return The Infobits value
36 */
37 Collection getInfobits();
38
39
40 /***
41 * acl decription
42 *
43 * @return human readable description
44 */
45 public String getDescription();
46
47
48 /***
49 * defined roles for given capability. those roles are explicit - if no
50 * capability with this name is defined, nobody is allowed
51 *
52 * @param capability Description of Parameter
53 * @return role set
54 */
55 public Set getRoles(Capability capability);
56
57
58
59 /***
60 * Sets the Description attribute of the Acl object
61 *
62 * @param description The new Description value
63 */
64 public void setDescription(String description);
65
66 }
This page was automatically generated by Maven