
uk.co.mruoc.nac.entities.UserPageRequest Maven / Gradle / Ivy
The newest version!
package uk.co.mruoc.nac.entities;
import java.util.Collection;
import java.util.Collections;
import java.util.Optional;
import java.util.Set;
import lombok.Builder;
import lombok.Data;
import org.apache.commons.collections4.CollectionUtils;
@Builder(toBuilder = true)
@Data
public class UserPageRequest implements PageRequest {
private final long limit;
private final long offset;
private final Collection sort;
private final Collection groups;
private final String searchTerm;
@Override
public Collection getSort() {
return defaultIfEmpty(sort, Set.of(SortOrder.asc("username")));
}
public Collection getGroups() {
return defaultIfEmpty(groups, Collections.emptySet());
}
public Optional getSearchTerm() {
return Optional.ofNullable(searchTerm);
}
private Collection defaultIfEmpty(Collection values, Collection defaults) {
if (CollectionUtils.isEmpty(values)) {
return defaults;
}
return values;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy