/**
* Licensed to Apereo under one or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information regarding copyright ownership. Apereo
* licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use
* this file except in compliance with the License. You may obtain a copy of the License at the
* following location:
*
* <p>http://www.apache.org/licenses/LICENSE-2.0
*
* <p>Unless required by applicable law or agreed to in writing, software distributed under the
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apereo.portal.groups.pags;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
import org.apereo.portal.security.IPerson;
public class PagsGroup {
private String key;
private String name;
private String description;
private List<String> members;
private List<TestGroup> testGroups;
public PagsGroup() {
members = new Vector<String>();
testGroups = new Vector<TestGroup>();
}
public void setKey(String key) {
this.key = key;
}
public String getKey() {
return key;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setDescription(String description) {
this.description = description;
}
public String getDescription() {
return description;
}
public void addMember(String key) {
members.add(key);
}
public boolean hasMember(String key) {
return members.contains(key);
}
public void addTestGroup(TestGroup testGroup) {
testGroups.add(testGroup);
}
public boolean contains(IPerson person) {
return (testGroups.isEmpty()) ? false : test(person);
}
public boolean test(IPerson person) {
if (testGroups.isEmpty()) return true;
for (Iterator<TestGroup> i = testGroups.iterator(); i.hasNext(); ) {
TestGroup testGroup = i.next();
if (testGroup.test(person)) {
return true;
}
}
return false;
}
public String toString() {
return "GroupDefinition " + key + " (" + name + ")";
}
public List<String> getMembers() {
return members;
}
public List<TestGroup> getTestGroups() {
return testGroups;
}
}