Jasperreports 3.5 For Java Developers by David Heffelfinger