protected FaxJobStatus invokeScript(FaxJob faxJob,String name,Object[] input,FaxActionType faxActionType)
    {
        //generate script
        String script=this.generateScript(name,input);
        
        //invoke script
        ProcessOutput processOutput=this.invokeScript(script);
        
        //validate output
        this.processOutputValidator.validateProcessOutput(this,processOutput,faxActionType);
        
        //handle output
        FaxJobStatus output=null;
        switch(faxActionType)
        {
            case SUBMIT_FAX_JOB:
                this.processOutputHandler.updateFaxJob(this,faxJob,processOutput,faxActionType);
                break;
            case GET_FAX_JOB_STATUS:
                output=this.processOutputHandler.getFaxJobStatus(this,processOutput);
                break;
            default:
                //do nothing
                break;
        }

        return output;
    }
protected FaxJobStatus invokeScript ( FaxJob faxJob , String name , Object [ ] input , FaxActionType faxActionType ) { String script = this . generateScript ( name , input ) ; ProcessOutput processOutput = this . invokeScript ( script ) ; this . processOutputValidator . validateProcessOutput ( this , processOutput , faxActionType ) ; FaxJobStatus output = null ; switch ( faxActionType ) { case SUBMIT_FAX_JOB : this . processOutputHandler . updateFaxJob ( this , faxJob , processOutput , faxActionType ) ; break ; case GET_FAX_JOB_STATUS : output = this . processOutputHandler . getFaxJobStatus ( this , processOutput ) ; break ; default : break ; } return output ; }
Invokes the VB script and returns its output.

@param   faxJob
The fax job object containing the needed information
@param   name
The script name
@param   input
The script input
@param   faxActionType
The fax action type
@return  The fax job status (only for get fax job status action, for others null will be returned)