*/
private static Constructor retrieveCollectionProxyConstructor(Class proxyClass, Class baseType, String typeDesc)
{
if (proxyClass == null)
{
throw new MetadataException("No "+typeDesc+" specified.");
}
if (proxyClass.isInterface() ||
Modifier.isAbstract(proxyClass.getModifiers()) ||
!baseType.isAssignableFrom(proxyClass))
{
throw new MetadataException("Illegal class "+proxyClass.getName()+" specified for "+typeDesc+". Must be a concrete subclass of "+baseType.getName());
}
Class[] paramType = {PBKey.class, Class.class, Query.class};
try
{
return proxyClass.getConstructor(paramType);
}
catch (NoSuchMethodException ex)
{
throw new MetadataException("The class "+proxyClass.getName()+" specified for "+
typeDesc+" is required to have a public constructor with signature ("+
PBKey.class.getName()+", "+Class.class.getName()+", "+Query.class.getName()+").");
}
}