package org.josso.gateway.identity.service.store.virtual.rule;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.josso.gateway.identity.service.BaseUser;
import org.josso.gateway.identity.service.store.virtual.UserMappingRule;
import org.josso.gateway.identity.service.store.virtual.BaseUserMappingRule;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
/**
* @author <a href="mailto:gbrigand@josso.org">Gianluca Brigandi</a>
* @version $Id: SelectAllUsersMatchingPrefix.java 1644 2010-07-27 19:31:39Z sgonzalez $
* @org.apache.xbean.XBean element="select-all-users-prefix"
* <p/>
* Selects only users matching the supplied prefix.
*/
public class SelectAllUsersMatchingPrefix extends BaseUserMappingRule implements UserMappingRule {
private static final Log logger = LogFactory.getLog(SelectAllUsersMatchingPrefix.class);
private String usernamePrefix;
public Collection<BaseUser> select(Collection<BaseUser> selectedUsers) {
Collection<BaseUser> usersMatchingPrefix = new ArrayList<BaseUser>();
for (Iterator<BaseUser> baseUserIterator = selectedUsers.iterator(); baseUserIterator.hasNext();) {
BaseUser baseUser = baseUserIterator.next();
if (baseUser.getName().startsWith(usernamePrefix)) {
usersMatchingPrefix.add(baseUser);
}
}
return Collections.unmodifiableCollection(usersMatchingPrefix);
}
public String getUsernamePrefix() {
return usernamePrefix;
}
public void setUsernamePrefix(String usernamePrefix) {
this.usernamePrefix = usernamePrefix;
}
}