I was hoping someone can give me a hand with the following class which I have a setter and getter method , the getter method should return an array collection but it’s always returning an empty array collection even when I’ve run trace to check on it.
Class file is attached below , and here’s how I’m calling it
var webService:WebService = new WebService();
webService.searchText = searchText.text;
webService.searchParam = searchComboBox.selectedLabel;
webService.searchBook();
trace("WEBSERVICE ARRAY OF Book ----->" + webService.arrayOfBook); // This would return as empty array
package
{
import com.something.*;
public class WebService{
public var _arrayOfBook:ArrayOfBook;
private var _magazine:Book;
private var _service:Service = new Service();
private var _searchText:String;
private var _searchParam:String;
public function WebService(){
_arrayOfBook = new ArrayOfBook();
}
public function set searchText(value:String):void{
this._searchText = value;
}
public function get searchText():String{
return _searchText;
}
public function set searchParam(value:String):void{
this._searchParam = value;
}
public function get searchParam():String{
return _searchParam;
}
public function get arrayOfBook():ArrayOfBook{
trace(this._arrayOfBook) // this trace shows an empty array collection
return this._arrayOfBook;
}
public function searchBook():void{
_service.addgetTitleEventListener(handleServiceError);
var request:GetTitle_request = new GetTitle_request();
request.searchString = _searchText;
request.searchParameter = _searchParam.toLowerCase();
_service.getTitle_request_var = request;
_service.getTitle_send();
_service.addgetTitleEventListener(convertData);
}
public function convertData(e:GetTitleResultEvent):void{
_arrayOfBook = e.result;
_arrayOfBook.filterFunction = filterImage;
_arrayOfBook.refresh();
}
public function filterImage(item:Object):Boolean{
return item.imagename;
}
private function handleServiceError(event:GetTitleResultEvent):void{
trace(event.result); // trace here shows that my array is filled
}
}
}