History

My first initial commit with all of mine experimental changes.

Dmitry Kabak (userdima committed 13 years ago

Commit d37b88d1 parent 3f5b46618352 files · +2598093 −-8690Browse files

Showing the changes to java/pkg/java/security/acl (18 of 18352 files). Show all

Unified · Split

18 files
  1. java/pkg/java/security/acl/Acl.class +0 −0
  2. java/pkg/java/security/acl/Acl.java +241 −0
  3. java/pkg/java/security/acl/AclEntry.class +0 −0
  4. java/pkg/java/security/acl/AclEntry.java +154 −0
  5. java/pkg/java/security/acl/AclNotFoundException.class +0 −0
  6. java/pkg/java/security/acl/AclNotFoundException.java +44 −0
  7. java/pkg/java/security/acl/Group.class +0 −0
  8. java/pkg/java/security/acl/Group.java +87 −0
  9. java/pkg/java/security/acl/LastOwnerException.class +0 −0
  10. java/pkg/java/security/acl/LastOwnerException.java +45 −0
  11. java/pkg/java/security/acl/NotOwnerException.class +0 −0
  12. java/pkg/java/security/acl/NotOwnerException.java +44 −0
  13. java/pkg/java/security/acl/Owner.class +0 −0
  14. java/pkg/java/security/acl/Owner.java +95 −0
  15. java/pkg/java/security/acl/Permission.class +0 −0
  16. java/pkg/java/security/acl/Permission.java +54 −0
  17. java/pkg/java/security/acl/mkfile +15 −0
  18. java/pkg/java/security/acl/package.html +54 −0
java/pkg/java/security/acl/Acl.class+0−0

Binary file not shown.

java/pkg/java/security/acl/Acl.java+241−0
@@ -0,0 +1,241 @@
1/*
2 * Copyright (c) 1996, 2004, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26package java.security.acl;
27
28import java.util.Enumeration;
29import java.security.Principal;
30
31/**
32 * Interface representing an Access Control List (ACL). An Access
33 * Control List is a data structure used to guard access to
34 * resources.<p>
35 *
36 * An ACL can be thought of as a data structure with multiple ACL
37 * entries. Each ACL entry, of interface type AclEntry, contains a
38 * set of permissions associated with a particular principal. (A
39 * principal represents an entity such as an individual user or a
40 * group). Additionally, each ACL entry is specified as being either
41 * positive or negative. If positive, the permissions are to be
42 * granted to the associated principal. If negative, the permissions
43 * are to be denied.<p>
44 *
45 * The ACL Entries in each ACL observe the following rules:<p>
46 *
47 * <ul> <li>Each principal can have at most one positive ACL entry and
48 * one negative entry; that is, multiple positive or negative ACL
49 * entries are not allowed for any principal. Each entry specifies
50 * the set of permissions that are to be granted (if positive) or
51 * denied (if negative). <p>
52 *
53 * <li>If there is no entry for a particular principal, then the
54 * principal is considered to have a null (empty) permission set.<p>
55 *
56 * <li>If there is a positive entry that grants a principal a
57 * particular permission, and a negative entry that denies the
58 * principal the same permission, the result is as though the
59 * permission was never granted or denied. <p>
60 *
61 * <li>Individual permissions always override permissions of the
62 * group(s) to which the individual belongs. That is, individual
63 * negative permissions (specific denial of permissions) override the
64 * groups' positive permissions. And individual positive permissions
65 * override the groups' negative permissions.<p>
66 *
67 * </ul>
68 *
69 * The <code> java.security.acl </code> package provides the
70 * interfaces to the ACL and related data structures (ACL entries,
71 * groups, permissions, etc.), and the <code> sun.security.acl </code>
72 * classes provide a default implementation of the interfaces. For
73 * example, <code> java.security.acl.Acl </code> provides the
74 * interface to an ACL and the <code> sun.security.acl.AclImpl </code>
75 * class provides the default implementation of the interface.<p>
76 *
77 * The <code> java.security.acl.Acl </code> interface extends the
78 * <code> java.security.acl.Owner </code> interface. The Owner
79 * interface is used to maintain a list of owners for each ACL. Only
80 * owners are allowed to modify an ACL. For example, only an owner can
81 * call the ACL's <code>addEntry</code> method to add a new ACL entry
82 * to the ACL.
83 *
84 * @see java.security.acl.AclEntry
85 * @see java.security.acl.Owner
86 * @see java.security.acl.Acl#getPermissions
87 *
88 * @author Satish Dharmaraj
89 */
90
91public interface Acl extends Owner {
92
93 /**
94 * Sets the name of this ACL.
95 *
96 * @param caller the principal invoking this method. It must be an
97 * owner of this ACL.
98 *
99 * @param name the name to be given to this ACL.
100 *
101 * @exception NotOwnerException if the caller principal
102 * is not an owner of this ACL.
103 *
104 * @see #getName
105 */
106 public void setName(Principal caller, String name)
107 throws NotOwnerException;
108
109 /**
110 * Returns the name of this ACL.
111 *
112 * @return the name of this ACL.
113 *
114 * @see #setName
115 */
116 public String getName();
117
118 /**
119 * Adds an ACL entry to this ACL. An entry associates a principal
120 * (e.g., an individual or a group) with a set of
121 * permissions. Each principal can have at most one positive ACL
122 * entry (specifying permissions to be granted to the principal)
123 * and one negative ACL entry (specifying permissions to be
124 * denied). If there is already an ACL entry of the same type
125 * (negative or positive) already in the ACL, false is returned.
126 *
127 * @param caller the principal invoking this method. It must be an
128 * owner of this ACL.
129 *
130 * @param entry the ACL entry to be added to this ACL.
131 *
132 * @return true on success, false if an entry of the same type
133 * (positive or negative) for the same principal is already
134 * present in this ACL.
135 *
136 * @exception NotOwnerException if the caller principal
137 * is not an owner of this ACL.
138 */
139 public boolean addEntry(Principal caller, AclEntry entry)
140 throws NotOwnerException;
141
142 /**
143 * Removes an ACL entry from this ACL.
144 *
145 * @param caller the principal invoking this method. It must be an
146 * owner of this ACL.
147 *
148 * @param entry the ACL entry to be removed from this ACL.
149 *
150 * @return true on success, false if the entry is not part of this ACL.
151 *
152 * @exception NotOwnerException if the caller principal is not
153 * an owner of this Acl.
154 */
155 public boolean removeEntry(Principal caller, AclEntry entry)
156 throws NotOwnerException;
157
158 /**
159 * Returns an enumeration for the set of allowed permissions for the
160 * specified principal (representing an entity such as an individual or
161 * a group). This set of allowed permissions is calculated as
162 * follows:<p>
163 *
164 * <ul>
165 *
166 * <li>If there is no entry in this Access Control List for the
167 * specified principal, an empty permission set is returned.<p>
168 *
169 * <li>Otherwise, the principal's group permission sets are determined.
170 * (A principal can belong to one or more groups, where a group is a
171 * group of principals, represented by the Group interface.)
172 * The group positive permission set is the union of all
173 * the positive permissions of each group that the principal belongs to.
174 * The group negative permission set is the union of all
175 * the negative permissions of each group that the principal belongs to.
176 * If there is a specific permission that occurs in both
177 * the positive permission set and the negative permission set,
178 * it is removed from both.<p>
179 *
180 * The individual positive and negative permission sets are also
181 * determined. The positive permission set contains the permissions
182 * specified in the positive ACL entry (if any) for the principal.
183 * Similarly, the negative permission set contains the permissions
184 * specified in the negative ACL entry (if any) for the principal.
185 * The individual positive (or negative) permission set is considered
186 * to be null if there is not a positive (negative) ACL entry for the
187 * principal in this ACL.<p>
188 *
189 * The set of permissions granted to the principal is then calculated
190 * using the simple rule that individual permissions always override
191 * the group permissions. That is, the principal's individual negative
192 * permission set (specific denial of permissions) overrides the group
193 * positive permission set, and the principal's individual positive
194 * permission set overrides the group negative permission set.
195 *
196 * </ul>
197 *
198 * @param user the principal whose permission set is to be returned.
199 *
200 * @return the permission set specifying the permissions the principal
201 * is allowed.
202 */
203 public Enumeration<Permission> getPermissions(Principal user);
204
205 /**
206 * Returns an enumeration of the entries in this ACL. Each element in
207 * the enumeration is of type AclEntry.
208 *
209 * @return an enumeration of the entries in this ACL.
210 */
211 public Enumeration<AclEntry> entries();
212
213 /**
214 * Checks whether or not the specified principal has the specified
215 * permission. If it does, true is returned, otherwise false is returned.
216 *
217 * More specifically, this method checks whether the passed permission
218 * is a member of the allowed permission set of the specified principal.
219 * The allowed permission set is determined by the same algorithm as is
220 * used by the <code>getPermissions</code> method.
221 *
222 * @param principal the principal, assumed to be a valid authenticated
223 * Principal.
224 *
225 * @param permission the permission to be checked for.
226 *
227 * @return true if the principal has the specified permission, false
228 * otherwise.
229 *
230 * @see #getPermissions
231 */
232 public boolean checkPermission(Principal principal, Permission permission);
233
234 /**
235 * Returns a string representation of the
236 * ACL contents.
237 *
238 * @return a string representation of the ACL contents.
239 */
240 public String toString();
241}
java/pkg/java/security/acl/AclEntry.class+0−0

Binary file not shown.

java/pkg/java/security/acl/AclEntry.java+154−0
@@ -0,0 +1,154 @@
1/*
2 * Copyright (c) 1996, 2004, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26package java.security.acl;
27
28import java.util.Enumeration;
29import java.security.Principal;
30
31/**
32 * This is the interface used for representing one entry in an Access
33 * Control List (ACL).<p>
34 *
35 * An ACL can be thought of as a data structure with multiple ACL entry
36 * objects. Each ACL entry object contains a set of permissions associated
37 * with a particular principal. (A principal represents an entity such as
38 * an individual user or a group). Additionally, each ACL entry is specified
39 * as being either positive or negative. If positive, the permissions are
40 * to be granted to the associated principal. If negative, the permissions
41 * are to be denied. Each principal can have at most one positive ACL entry
42 * and one negative entry; that is, multiple positive or negative ACL
43 * entries are not allowed for any principal.
44 *
45 * Note: ACL entries are by default positive. An entry becomes a
46 * negative entry only if the
47 * {@link #setNegativePermissions() setNegativePermissions}
48 * method is called on it.
49 *
50 * @see java.security.acl.Acl
51 *
52 * @author Satish Dharmaraj
53 */
54public interface AclEntry extends Cloneable {
55
56 /**
57 * Specifies the principal for which permissions are granted or denied
58 * by this ACL entry. If a principal was already set for this ACL entry,
59 * false is returned, otherwise true is returned.
60 *
61 * @param user the principal to be set for this entry.
62 *
63 * @return true if the principal is set, false if there was
64 * already a principal set for this entry.
65 *
66 * @see #getPrincipal
67 */
68 public boolean setPrincipal(Principal user);
69
70 /**
71 * Returns the principal for which permissions are granted or denied by
72 * this ACL entry. Returns null if there is no principal set for this
73 * entry yet.
74 *
75 * @return the principal associated with this entry.
76 *
77 * @see #setPrincipal
78 */
79 public Principal getPrincipal();
80
81 /**
82 * Sets this ACL entry to be a negative one. That is, the associated
83 * principal (e.g., a user or a group) will be denied the permission set
84 * specified in the entry.
85 *
86 * Note: ACL entries are by default positive. An entry becomes a
87 * negative entry only if this <code>setNegativePermissions</code>
88 * method is called on it.
89 */
90 public void setNegativePermissions();
91
92 /**
93 * Returns true if this is a negative ACL entry (one denying the
94 * associated principal the set of permissions in the entry), false
95 * otherwise.
96 *
97 * @return true if this is a negative ACL entry, false if it's not.
98 */
99 public boolean isNegative();
100
101 /**
102 * Adds the specified permission to this ACL entry. Note: An entry can
103 * have multiple permissions.
104 *
105 * @param permission the permission to be associated with
106 * the principal in this entry.
107 *
108 * @return true if the permission was added, false if the
109 * permission was already part of this entry's permission set.
110 */
111 public boolean addPermission(Permission permission);
112
113 /**
114 * Removes the specified permission from this ACL entry.
115 *
116 * @param permission the permission to be removed from this entry.
117 *
118 * @return true if the permission is removed, false if the
119 * permission was not part of this entry's permission set.
120 */
121 public boolean removePermission(Permission permission);
122
123 /**
124 * Checks if the specified permission is part of the
125 * permission set in this entry.
126 *
127 * @param permission the permission to be checked for.
128 *
129 * @return true if the permission is part of the
130 * permission set in this entry, false otherwise.
131 */
132 public boolean checkPermission(Permission permission);
133
134 /**
135 * Returns an enumeration of the permissions in this ACL entry.
136 *
137 * @return an enumeration of the permissions in this ACL entry.
138 */
139 public Enumeration<Permission> permissions();
140
141 /**
142 * Returns a string representation of the contents of this ACL entry.
143 *
144 * @return a string representation of the contents.
145 */
146 public String toString();
147
148 /**
149 * Clones this ACL entry.
150 *
151 * @return a clone of this ACL entry.
152 */
153 public Object clone();
154}
java/pkg/java/security/acl/AclNotFoundException.class+0−0

Binary file not shown.

java/pkg/java/security/acl/AclNotFoundException.java+44−0
@@ -0,0 +1,44 @@
1/*
2 * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26package java.security.acl;
27
28/**
29 * This is an exception that is thrown whenever a reference is made to a
30 * non-existent ACL (Access Control List).
31 *
32 * @author Satish Dharmaraj
33 */
34public class AclNotFoundException extends Exception {
35
36 private static final long serialVersionUID = 5684295034092681791L;
37
38 /**
39 * Constructs an AclNotFoundException.
40 */
41 public AclNotFoundException() {
42 }
43
44}
java/pkg/java/security/acl/Group.class+0−0

Binary file not shown.

java/pkg/java/security/acl/Group.java+87−0
@@ -0,0 +1,87 @@
1/*
2 * Copyright (c) 1996, 2004, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26package java.security.acl;
27
28import java.util.Enumeration;
29import java.security.Principal;
30
31/**
32 * This interface is used to represent a group of principals. (A principal
33 * represents an entity such as an individual user or a company). <p>
34 *
35 * Note that Group extends Principal. Thus, either a Principal or a Group can
36 * be passed as an argument to methods containing a Principal parameter. For
37 * example, you can add either a Principal or a Group to a Group object by
38 * calling the object's <code>addMember</code> method, passing it the
39 * Principal or Group.
40 *
41 * @author Satish Dharmaraj
42 */
43public interface Group extends Principal {
44
45 /**
46 * Adds the specified member to the group.
47 *
48 * @param user the principal to add to this group.
49 *
50 * @return true if the member was successfully added,
51 * false if the principal was already a member.
52 */
53 public boolean addMember(Principal user);
54
55 /**
56 * Removes the specified member from the group.
57 *
58 * @param user the principal to remove from this group.
59 *
60 * @return true if the principal was removed, or
61 * false if the principal was not a member.
62 */
63 public boolean removeMember(Principal user);
64
65 /**
66 * Returns true if the passed principal is a member of the group.
67 * This method does a recursive search, so if a principal belongs to a
68 * group which is a member of this group, true is returned.
69 *
70 * @param member the principal whose membership is to be checked.
71 *
72 * @return true if the principal is a member of this group,
73 * false otherwise.
74 */
75 public boolean isMember(Principal member);
76
77
78 /**
79 * Returns an enumeration of the members in the group.
80 * The returned objects can be instances of either Principal
81 * or Group (which is a subclass of Principal).
82 *
83 * @return an enumeration of the group members.
84 */
85 public Enumeration<? extends Principal> members();
86
87}
java/pkg/java/security/acl/LastOwnerException.class+0−0

Binary file not shown.

java/pkg/java/security/acl/LastOwnerException.java+45−0
@@ -0,0 +1,45 @@
1/*
2 * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26package java.security.acl;
27
28/**
29 * This is an exception that is thrown whenever an attempt is made to delete
30 * the last owner of an Access Control List.
31 *
32 * @see java.security.acl.Owner#deleteOwner
33 *
34 * @author Satish Dharmaraj
35 */
36public class LastOwnerException extends Exception {
37
38 private static final long serialVersionUID = -5141997548211140359L;
39
40 /**
41 * Constructs a LastOwnerException.
42 */
43 public LastOwnerException() {
44 }
45}
java/pkg/java/security/acl/NotOwnerException.class+0−0

Binary file not shown.

java/pkg/java/security/acl/NotOwnerException.java+44−0
@@ -0,0 +1,44 @@
1/*
2 * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26package java.security.acl;
27
28/**
29 * This is an exception that is thrown whenever the modification of an object
30 * (such as an Access Control List) is only allowed to be done by an owner of
31 * the object, but the Principal attempting the modification is not an owner.
32 *
33 * @author Satish Dharmaraj
34 */
35public class NotOwnerException extends Exception {
36
37 private static final long serialVersionUID = -5555597911163362399L;
38
39 /**
40 * Constructs a NotOwnerException.
41 */
42 public NotOwnerException() {
43 }
44}
java/pkg/java/security/acl/Owner.class+0−0

Binary file not shown.

java/pkg/java/security/acl/Owner.java+95−0
@@ -0,0 +1,95 @@
1/*
2 * Copyright (c) 1996, 1997, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26package java.security.acl;
27
28import java.security.Principal;
29
30/**
31 * Interface for managing owners of Access Control Lists (ACLs) or ACL
32 * configurations. (Note that the Acl interface in the
33 * <code> java.security.acl </code> package extends this Owner
34 * interface.) The initial owner Principal should be specified as an
35 * argument to the constructor of the class implementing this interface.
36 *
37 * @see java.security.acl.Acl
38 *
39 */
40public interface Owner {
41
42 /**
43 * Adds an owner. Only owners can modify ACL contents. The caller
44 * principal must be an owner of the ACL in order to invoke this method.
45 * That is, only an owner can add another owner. The initial owner is
46 * configured at ACL construction time.
47 *
48 * @param caller the principal invoking this method. It must be an owner
49 * of the ACL.
50 *
51 * @param owner the owner that should be added to the list of owners.
52 *
53 * @return true if successful, false if owner is already an owner.
54 * @exception NotOwnerException if the caller principal is not an owner
55 * of the ACL.
56 */
57 public boolean addOwner(Principal caller, Principal owner)
58 throws NotOwnerException;
59
60 /**
61 * Deletes an owner. If this is the last owner in the ACL, an exception is
62 * raised.<p>
63 *
64 * The caller principal must be an owner of the ACL in order to invoke
65 * this method.
66 *
67 * @param caller the principal invoking this method. It must be an owner
68 * of the ACL.
69 *
70 * @param owner the owner to be removed from the list of owners.
71 *
72 * @return true if the owner is removed, false if the owner is not part
73 * of the list of owners.
74 *
75 * @exception NotOwnerException if the caller principal is not an owner
76 * of the ACL.
77 *
78 * @exception LastOwnerException if there is only one owner left, so that
79 * deleteOwner would leave the ACL owner-less.
80 */
81 public boolean deleteOwner(Principal caller, Principal owner)
82 throws NotOwnerException, LastOwnerException;
83
84 /**
85 * Returns true if the given principal is an owner of the ACL.
86 *
87 * @param owner the principal to be checked to determine whether or not
88 * it is an owner.
89 *
90 * @return true if the passed principal is in the list of owners, false
91 * if not.
92 */
93 public boolean isOwner(Principal owner);
94
95}
java/pkg/java/security/acl/Permission.class+0−0

Binary file not shown.

java/pkg/java/security/acl/Permission.java+54−0
@@ -0,0 +1,54 @@
1/*
2 * Copyright (c) 1996, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26package java.security.acl;
27
28
29/**
30 * This interface represents a permission, such as that used to grant
31 * a particular type of access to a resource.
32 *
33 * @author Satish Dharmaraj
34 */
35public interface Permission {
36
37 /**
38 * Returns true if the object passed matches the permission represented
39 * in this interface.
40 *
41 * @param another the Permission object to compare with.
42 *
43 * @return true if the Permission objects are equal, false otherwise
44 */
45 public boolean equals(Object another);
46
47 /**
48 * Prints a string representation of this permission.
49 *
50 * @return the string representation of the permission.
51 */
52 public String toString();
53
54}
java/pkg/java/security/acl/mkfile+15−0
@@ -0,0 +1,15 @@
1<../../../../../mkconfig
2
3TARG=\
4 Acl.dis\
5 AclEntry.dis\
6 AclNotFoundException.dis\
7 Group.dis\
8 LastOwnerException.dis\
9 NotOwnerException.dis\
10 Owner.dis\
11 Permission.dis\
12
13DISBIN=$ROOT/java/dis/java/java/java/security/acl
14
15<$ROOT/mkfiles/mkjava
java/pkg/java/security/acl/package.html+54−0
@@ -0,0 +1,54 @@
1<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2<html>
3<head>
4<!--
5Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
6DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
7
8This code is free software; you can redistribute it and/or modify it
9under the terms of the GNU General Public License version 2 only, as
10published by the Free Software Foundation. Oracle designates this
11particular file as subject to the "Classpath" exception as provided
12by Oracle in the LICENSE file that accompanied this code.
13
14This code is distributed in the hope that it will be useful, but WITHOUT
15ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
17version 2 for more details (a copy is included in the LICENSE file that
18accompanied this code).
19
20You should have received a copy of the GNU General Public License version
212 along with this work; if not, write to the Free Software Foundation,
22Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
23
24Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
25or visit www.oracle.com if you need additional information or have any
26questions.
27-->
28
29</head>
30<body bgcolor="white">
31
32The classes and interfaces in this package have been
33superseded by classes in the java.security package.
34See that package and, for example, java.security.Permission for details.
35
36<!--
37<h2>Package Specification</h2>
38
39##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
40<ul>
41 <li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
42</ul>
43
44<h2>Related Documentation</h2>
45
46For overviews, tutorials, examples, guides, and tool documentation, please see:
47<ul>
48 <li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
49</ul>
50-->
51
52@since JDK1.1
53</body>
54</html>