constructor = ReflectHelper.getDefaultConstructor(mappedClass);
}
public Object instantiate() {
if ( ReflectHelper.isAbstractClass(mappedClass) ) {
throw new InstantiationException( "Cannot instantiate abstract class or interface: ", mappedClass );
}
else if ( optimizer != null ) {
return optimizer.newInstance();
}
else if ( constructor == null ) {
throw new InstantiationException( "No default constructor for entity: ", mappedClass );
}
else {
try {
return constructor.newInstance( null );
}
catch ( Exception e ) {
throw new InstantiationException( "Could not instantiate entity: ", mappedClass, e );
}
}
}