package ee.telekom.workflow.core.workflowinstance;
import java.sql.ResultSet;
import java.sql.SQLException;
import ee.telekom.workflow.util.AbstractRowMapper;
/**
* Row mapper for {@link WorkflowInstance}s that maps all database fields except the
* ones that are not used by the internal parts of the engine (date_created, created_by,
* date_last_updated, last_updated_by).
*
* @author Christian Klock
*/
public class WorkflowInstanceRowMapper extends AbstractRowMapper<WorkflowInstance>{
public static final WorkflowInstanceRowMapper INSTANCE = new WorkflowInstanceRowMapper();
@Override
public WorkflowInstance mapRow( ResultSet rs, int rowNum ) throws SQLException{
WorkflowInstance object = new WorkflowInstance();
object.setRefNum( getLong( rs, "ref_num" ) );
object.setWorkflowName( getString( rs, "workflow_name" ) );
object.setWorkflowVersion( getInteger( rs, "workflow_version" ) );
object.setAttributes( getString( rs, "attributes" ) );
object.setState( getString( rs, "state" ) );
object.setHistory( getString( rs, "history" ) );
object.setLabel1( getString( rs, "label1" ) );
object.setLabel2( getString( rs, "label2" ) );
object.setClusterName( getString( rs, "cluster_name" ) );
object.setNodeName( getString( rs, "node_name" ) );
object.setStatus( getWorkflowInstanceStatus( rs, "status" ) );
object.setLocked( getBoolean( rs, "locked" ) );
return object;
}
}