`

查找集合中符合条件的JavaBean

阅读更多
最近查看Spring源码中的例子,看到这么个东东,以后会有用,记录下来和大家分享..

package org.springframework.samples.petclinic;

/**
* Simple JavaBean domain object with an id property.
* Used as a base class for objects needing this property.
*
* @author Ken Krebs
* @author Juergen Hoeller
*/
public class BaseEntity {

private Integer id;


public void setId(Integer id) {
this.id = id;
}

public Integer getId() {
return id;
}

public boolean isNew() {
return (this.id == null);
}

}



-------------------------------------------------------

package org.springframework.samples.petclinic.util;

import java.util.Collection;

import org.springframework.orm.ObjectRetrievalFailureException;
import org.springframework.samples.petclinic.BaseEntity;

/**
* Utility methods for handling entities. Separate from the BaseEntity class
* mainly because of dependency on the ORM-associated
* ObjectRetrievalFailureException.
*
* @author Juergen Hoeller
* @author Sam Brannen
* @since 29.10.2003
* @see org.springframework.samples.petclinic.BaseEntity
*/
public abstract class EntityUtils {

/**
* Look up the entity of the given class with the given id in the given
* collection.
*
* @param entities the collection to search
* @param entityClass the entity class to look up
* @param entityId the entity id to look up
* @return the found entity
* @throws ObjectRetrievalFailureException if the entity was not found
*/
public static <T extends BaseEntity> T getById(Collection<T> entities, Class<T> entityClass, int entityId)
throws ObjectRetrievalFailureException {
for (T entity : entities) {
if (entity.getId().intValue() == entityId && entityClass.isInstance(entity)) {
return entity;
}
}
throw new ObjectRetrievalFailureException(entityClass, new Integer(entityId));
}

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics