001 package org.kuali.rice.kim.api.identity; 002 003 import org.apache.commons.collections.CollectionUtils; 004 import org.kuali.rice.core.api.mo.common.Defaultable; 005 import org.kuali.rice.core.api.mo.common.active.Inactivatable; 006 007 import java.util.Collection; 008 009 public class EntityUtils { 010 011 private EntityUtils() { 012 throw new UnsupportedOperationException("do not call."); 013 } 014 015 public static <T extends Defaultable & Inactivatable> T getDefaultItem( Collection<T> collection ) { 016 // find the default entry 017 if (CollectionUtils.isEmpty(collection)) { 018 return null; 019 } 020 for ( T item : collection ) { 021 if ( item.isDefaultValue() && item.isActive() ) { 022 return (T)item; 023 } 024 } 025 // if no default, return the first 026 for ( T item : collection ) { 027 return item; 028 } 029 // if neither, return null 030 return null; 031 } 032 }