View Javadoc

1   /**
2    * Copyright 2011-2013 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10   * software distributed under the License is distributed on an "AS IS"
11   * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12   * or implied. See the License for the specific language governing
13   * permissions and limitations under the License.
14   */
15  
16  package org.kuali.mobility.security.authz.expression;
17  
18  import org.kuali.mobility.security.user.api.User;
19  
20  /**
21   * @author Kuali Mobility Team (mobility.collab@kuali.org)
22   */
23  public class GroupExpression implements Expression {
24  
25  	private static final long serialVersionUID = 8899577797440033748L;
26  
27  	private String key;
28  
29  	public GroupExpression(String key) {
30  		this.key = key;
31  	}
32  
33  	public boolean evaluate(User user) {
34  		return (user != null && user.getGroups() != null && user.isMember(key.toUpperCase()));
35  	}
36  
37  	public String getKey() {
38  		return key;
39  	}
40  
41  	@Override
42  	public boolean equals(Object obj) {
43  		if (obj instanceof GroupExpression) {
44  			GroupExpression other = (GroupExpression)obj;
45  			return key.equals(other.key);
46  		}
47  		return false;
48  	}
49  	
50  }