package org.fireflow.service.file.writer;
import org.fireflow.client.WorkflowSession;
import org.fireflow.engine.context.RuntimeContext;
import org.fireflow.engine.entity.runtime.ActivityInstance;
import org.fireflow.engine.exception.ServiceInvocationException;
import org.fireflow.engine.invocation.impl.AbsServiceInvoker;
import org.fireflow.model.binding.ServiceBinding;
import org.fireflow.model.servicedef.ServiceDef;
public class FileWriterInvoker extends AbsServiceInvoker {
public String getServiceType() {
// TODO Auto-generated method stub
return null;
}
@Override
public Object getServiceObject(RuntimeContext runtimeContext,
WorkflowSession session, ActivityInstance activityInstance,
ServiceBinding serviceBinding,ServiceDef svc,Object activity) throws ServiceInvocationException {
FileWriteServiceDef service = (FileWriteServiceDef)svc;
FileWriterImpl writer = new FileWriterImpl();
writer.setFileWriteService(service);
return writer;
}
/* (non-Javadoc)
* @see org.fireflow.engine.invocation.AbsServiceInvoker#getParameterTypes(java.lang.String, java.lang.Object[])
*/
@Override
protected Class[] getParameterTypes(Class serviceClass, String methodName, Object[] params) {
if (methodName.equals("writeBytesToFile")){
Class[] paramTypes = new Class[]{String.class,byte[].class};
return paramTypes;
}else if (methodName.equals("writeStringToFile")){
Class[] paramTypes = new Class[]{String.class,String.class};
return paramTypes;
}
return null;
}
}