Coverage Report - org.acegisecurity.acls.domain.AccessControlEntryImpl
 
Classes in this File Line Coverage Branch Coverage Complexity
AccessControlEntryImpl
80% 
100% 
1.308
 
 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.acegisecurity.acls.domain;
 16  
 
 17  
 import org.acegisecurity.acls.AccessControlEntry;
 18  
 import org.acegisecurity.acls.Acl;
 19  
 import org.acegisecurity.acls.AuditableAccessControlEntry;
 20  
 import org.acegisecurity.acls.Permission;
 21  
 import org.acegisecurity.acls.sid.Sid;
 22  
 
 23  
 import org.springframework.util.Assert;
 24  
 
 25  
 import java.io.Serializable;
 26  
 
 27  
 
 28  
 /**
 29  
  * An immutable default implementation of <code>AccessControlEntry</code>.
 30  
  *
 31  
  * @author Ben Alex
 32  
  * @version $Id: AccessControlEntryImpl.java 1754 2006-11-17 02:01:21Z benalex $
 33  
  */
 34  
 public class AccessControlEntryImpl implements AccessControlEntry, AuditableAccessControlEntry {
 35  
     //~ Instance fields ================================================================================================
 36  
 
 37  
     private Acl acl;
 38  
     private Permission permission;
 39  
     private Serializable id;
 40  
     private Sid sid;
 41  16
     private boolean auditFailure = false;
 42  16
     private boolean auditSuccess = false;
 43  
     private boolean granting;
 44  
 
 45  
     //~ Constructors ===================================================================================================
 46  
 
 47  
     public AccessControlEntryImpl(Serializable id, Acl acl, Sid sid, Permission permission, boolean granting,
 48  16
         boolean auditSuccess, boolean auditFailure) {
 49  16
         Assert.notNull(acl, "Acl required");
 50  16
         Assert.notNull(sid, "Sid required");
 51  16
         Assert.notNull(permission, "Permission required");
 52  16
         this.id = id;
 53  16
         this.acl = acl; // can be null
 54  16
         this.sid = sid;
 55  16
         this.permission = permission;
 56  16
         this.granting = granting;
 57  16
         this.auditSuccess = auditSuccess;
 58  16
         this.auditFailure = auditFailure;
 59  16
     }
 60  
 
 61  
     //~ Methods ========================================================================================================
 62  
 
 63  
     public boolean equals(Object arg0) {
 64  5
         if (!(arg0 instanceof AccessControlEntryImpl)) {
 65  0
             return false;
 66  
         }
 67  
 
 68  5
         AccessControlEntryImpl rhs = (AccessControlEntryImpl) arg0;
 69  
 
 70  5
         if ((this.auditFailure != rhs.isAuditFailure()) || (this.auditSuccess != rhs.isAuditSuccess())
 71  
             || (this.granting != rhs.isGranting()) || !this.acl.equals(rhs.getAcl()) || !this.id.equals(rhs.getId())
 72  
             || !this.permission.equals(rhs.getPermission()) || !this.sid.equals(rhs.getSid())) {
 73  5
             return false;
 74  
         }
 75  
 
 76  0
         return true;
 77  
     }
 78  
 
 79  
     public Acl getAcl() {
 80  2
         return acl;
 81  
     }
 82  
 
 83  
     public Serializable getId() {
 84  5
         return id;
 85  
     }
 86  
 
 87  
     public Permission getPermission() {
 88  36
         return permission;
 89  
     }
 90  
 
 91  
     public Sid getSid() {
 92  22
         return sid;
 93  
     }
 94  
 
 95  
     public boolean isAuditFailure() {
 96  19
         return auditFailure;
 97  
     }
 98  
 
 99  
     public boolean isAuditSuccess() {
 100  19
         return auditSuccess;
 101  
     }
 102  
 
 103  
     public boolean isGranting() {
 104  27
         return granting;
 105  
     }
 106  
 
 107  
     void setAuditFailure(boolean auditFailure) {
 108  0
         this.auditFailure = auditFailure;
 109  0
     }
 110  
 
 111  
     void setAuditSuccess(boolean auditSuccess) {
 112  0
         this.auditSuccess = auditSuccess;
 113  0
     }
 114  
 
 115  
     void setPermission(Permission permission) {
 116  0
         Assert.notNull(permission, "Permission required");
 117  0
         this.permission = permission;
 118  0
     }
 119  
 
 120  
     public String toString() {
 121  3
         StringBuffer sb = new StringBuffer();
 122  3
         sb.append("AccessControlEntryImpl[");
 123  3
         sb.append("id: ").append(this.id).append("; ");
 124  3
         sb.append("granting: ").append(this.granting).append("; ");
 125  3
         sb.append("sid: ").append(this.sid).append("; ");
 126  3
         sb.append("permission: ").append(this.permission).append("; ");
 127  3
         sb.append("auditSuccess: ").append(this.auditSuccess).append("; ");
 128  3
         sb.append("auditFailure: ").append(this.auditFailure);
 129  3
         sb.append("]");
 130  
 
 131  3
         return sb.toString();
 132  
     }
 133  
 }