1 25 29 package org.jresearch.gossip.am.values; 30 31 import java.io.Serializable ; 32 import java.util.Hashtable ; 33 34 38 public class PermissionPoint implements Serializable { 39 40 43 private static final long serialVersionUID = 5408127418759175026L; 44 45 48 public static PermissionPoint ALL_PERMISSIONS = new PermissionPoint( 49 PermissionObject.ALL_OBJECTS, PermissionOperation.ALL_OPERATIONS); 50 51 54 public static PermissionPoint ADM_USER = new PermissionPoint( 55 new PermissionObject(PermissionObject.USER), 56 PermissionOperation.ALL_OPERATIONS); 57 58 61 public static PermissionPoint ADM_FORUM = new PermissionPoint( 62 new PermissionObject(PermissionObject.FORUM), 63 PermissionOperation.ALL_OPERATIONS); 64 65 68 public static PermissionPoint ADM_GROUP = new PermissionPoint( 69 new PermissionObject(PermissionObject.GROUP), 70 PermissionOperation.ALL_OPERATIONS); 71 72 75 public static PermissionPoint ADM_TOPIC = new PermissionPoint( 76 new PermissionObject(PermissionObject.TOPIC), 77 PermissionOperation.ALL_OPERATIONS); 78 79 82 public static PermissionPoint ADM_MESSAGE = new PermissionPoint( 83 new PermissionObject(PermissionObject.MESSAGE), 84 PermissionOperation.ALL_OPERATIONS); 85 86 private PermissionObject object; 87 88 public static final int ALL = -1; 89 90 public static final int UNKNOWN = -2; 91 92 private PermissionOperation operation; 93 94 private PermissionAttributes args; 95 96 private StringBuffer sb = new StringBuffer (); 97 98 103 public PermissionPoint(int object, int operation, PermissionAttributes args) { 104 this(new PermissionObject(object), new PermissionOperation(operation), 105 args); 106 } 107 108 113 public PermissionPoint(PermissionObject object, 114 PermissionOperation operation, PermissionAttributes args) { 115 if (object == null || operation == null || args == null) { 116 throw new IllegalArgumentException ( 117 "parameters for creating PermissionPoint can't be null"); 118 } 119 this.object = object; 120 this.operation = operation; 121 this.args = args; 122 } 123 124 128 public PermissionPoint(int object, int operation) { 129 this(new PermissionObject(object), new PermissionOperation(operation), 130 PermissionAttributes.ALL_ATTRIBUTES); 131 } 132 133 137 public PermissionPoint(PermissionObject object, 138 PermissionOperation operation) { 139 this(object, operation, PermissionAttributes.ALL_ATTRIBUTES); 140 } 141 142 147 public int hashCode() { 148 if (sb.length() > 0) { 149 sb.delete(0, sb.length()); 150 } 151 sb.append(object.hashCode()); 152 sb.append(operation.hashCode()); 153 sb.append(args.hashCode()); 154 return sb.toString().hashCode(); 155 } 156 157 162 public boolean equals(Object obj) { 163 if (obj instanceof PermissionPoint) { 164 PermissionPoint p = (PermissionPoint) obj; 165 return (this.object.equals(p.object) 166 && this.operation.equals(p.operation) && this.args 167 .equals(p.args)); 168 } 169 return false; 170 } 171 } | Popular Tags |