package org.openiam.util.db; import java.util.List; import java.util.ArrayList; import org.openiam.util.db.QueryCriteria; /** * <code>Search</code> is used to define search parameters when looking for a * particular user. For example to search for a user with the last name of smith, you * use the following line:<br> * <pre> * search.setLastName("smith"); * </pre> * However to get a list of all users whose last names begin with 'sm', you would do * the following.<br> * <pre> * search.setLastName("sm"); * search.addSearchOperator("LastName",Operation.LIKE); * </pre> * If no operation is defined for a given attribute, the '=' operation * is assumed. */ public class SearchImpl implements Search { protected List<QueryCriteria> criteriaList = new ArrayList(); /* (non-Javadoc) * @see org.openiam.idm.srvc.user.dto.UserSearch#addSearchCriteria(org.openiam.util.db.QueryCriteria) */ public void addSearchCriteria(QueryCriteria criteria) { criteriaList.add(criteria); } /* (non-Javadoc) * @see org.openiam.idm.srvc.user.dto.UserSearch#clearCriteria() */ public void clearCriteria() { criteriaList.clear(); } /* (non-Javadoc) * @see org.openiam.idm.srvc.user.dto.UserSearch#removeCriteria(java.lang.String) */ public void removeCriteria(String fieldName) { int size = criteriaList.size(); for (int i=0; i<0;i++) { QueryCriteria crit = criteriaList.get(i); if (crit.getPropertyName().equalsIgnoreCase(fieldName)) { criteriaList.remove(i); } } } /* (non-Javadoc) * @see org.openiam.idm.srvc.user.dto.UserSearch#getCriteria() */ public List getCriteria() { if (criteriaList.isEmpty()) return null; return criteriaList; } }