Hi friends..
we are using BIRT Scripted data source. we using two java class, for example contactList and contactListFactory
1. In contactList class having getter and setter methods.
2. contactListFactory class having method (eg.: getData() )

In our *.rtpdesign having this
open() -----|
count = 0;
cf = new Packages.gr.osmosis.report.data.ContactListFactory();
c = cf.createContactList();
fetch() -----|
if (count < c.length-1){
count ++;
row["columnFirstName"] = c[count].getFname();
row["columnLastName"] = c[count].getLname();
row["columnPhoneNumber"] = c[count].getPhone();
return true;
return false;

our problem is, while run report if it's contain more than one page, reloading all methods (open,fetch,close).