package edu.ualberta.med.biobank.server.system.util;
import gov.nih.nci.system.dao.QueryException;
import gov.nih.nci.system.util.ClassCache;
import java.lang.reflect.Field;
import java.util.Collection;
public class BiobankClassCache extends ClassCache {
@Override
public boolean isCollection(String className, String attribName)
throws QueryException
{
Field[] classFields;
try
{
classFields = getFields(getClassFromCache(className));
for (int i = 0; i < classFields.length; i++)
{
if (classFields[i].getName().equals(attribName))
{
Class<?> type = classFields[i].getType();
if (Collection.class.isAssignableFrom(type)) {
return true;
}
return false;
}
}
return false;
} catch (ClassNotFoundException e)
{
throw new QueryException("Could not determine type of attribute "
+ attribName + " in class " + className, e);
}
}
}