package com.ldbc.driver.workloads.simple; import com.ldbc.driver.Operation; import com.ldbc.driver.generator.Generator; import com.ldbc.driver.generator.GeneratorException; import java.util.Iterator; import java.util.List; import java.util.Map; class ReadModifyWriteOperationGenerator extends Generator<Operation> { private final String table; private final Iterator<String> keyGenerator; private final Iterator<List<String>> fieldsGenerator; private final Iterator<Map<String, Iterator<Byte>>> valuedFieldsGenerator; protected ReadModifyWriteOperationGenerator(String table, Iterator<String> keyGenerator, Iterator<List<String>> fieldsGenerator, Iterator<Map<String, Iterator<Byte>>> valuedFieldsGenerator) { this.table = table; this.keyGenerator = keyGenerator; this.fieldsGenerator = fieldsGenerator; this.valuedFieldsGenerator = valuedFieldsGenerator; } @Override protected Operation doNext() throws GeneratorException { return new ReadModifyWriteOperation(table, keyGenerator.next(), fieldsGenerator.next(), valuedFieldsGenerator.next()); } }