11#ifndef BE_MPI_CSVPROCESSOR_H_
12#define BE_MPI_CSVPROCESSOR_H_
59 const std::string &propertiesFileName);
84 const uint64_t lineNum,
85 const std::string &line) = 0;
106 const uint64_t lineNum,
107 const std::vector<std::string> &tokens) = 0;
111 virtual std::shared_ptr<WorkPackageProcessor>
113 std::shared_ptr<IO::Logsheet> &logsheet) = 0;
117 std::shared_ptr<IO::Logsheet> &logsheet) = 0;
123 std::shared_ptr<MPI::CSVResources>
127 std::shared_ptr<MPI::CSVResources> _resources;
An implementation of a work package processor that will extract lines (and optionally tokenize) a lin...
virtual ~CSVProcessor()=default
virtual void processLine(const uint64_t lineNum, const std::string &line)=0
Method implemented by child classes to perform an action using each record from the Record Store.
std::shared_ptr< MPI::CSVResources > getResources()
void processWorkPackage(MPI::WorkPackage &workPackage)
Process the data contents of the work package.
virtual void performInitialization(std::shared_ptr< IO::Logsheet > &logsheet)=0
Initialization function to be called before work is distributed to the work package processor.
virtual std::shared_ptr< WorkPackageProcessor > newProcessor(std::shared_ptr< IO::Logsheet > &logsheet)=0
Obtain an object that will process work packages.
CSVProcessor(const std::string &propertiesFileName)
Construct a work package processor with the given properties.
A class to represent a piece of work to be acted upon by a processor.
Represents an object that processes the contents of a work package.
This software was developed at the National Institute of Standards and Technology (NIST) by employees...