1 /* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited 2 * 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 package org.springframework.security.acls; 16 17 import org.springframework.security.acls.sid.Sid; 18 19 import java.io.Serializable; 20 21 22 /** 23 * Represents an individual permission assignment within an {@link Acl}. 24 * 25 * <p> 26 * Instances MUST be immutable, as they are returned by <code>Acl</code> 27 * and should not allow client modification. 28 * </p> 29 * 30 * @author Ben Alex 31 * @version $Id: AccessControlEntry.java 2864 2008-04-05 05:58:11Z benalex $ 32 * 33 */ 34 public interface AccessControlEntry extends Serializable { 35 //~ Methods ======================================================================================================== 36 37 Acl getAcl(); 38 39 /** 40 * Obtains an identifier that represents this ACE. 41 * 42 * @return the identifier, or <code>null</code> if unsaved 43 */ 44 Serializable getId(); 45 46 Permission getPermission(); 47 48 Sid getSid(); 49 50 /** 51 * Indicates the a Permission is being granted to the relevant Sid. If false, indicates the permission is 52 * being revoked/blocked. 53 * 54 * @return true if being granted, false otherwise 55 */ 56 boolean isGranting(); 57 }