package org.opencb.opencga.storage.hadoop.variant.annotation; import org.apache.hadoop.io.Writable; import org.apache.hadoop.mapreduce.lib.db.DBWritable; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import java.util.concurrent.atomic.AtomicReference; /** * Created by mh719 on 15/12/2016. */ public class PhoenixVariantAnnotationWritable implements DBWritable, Writable { private final List<Object> orderedValues; private final AtomicReference<ResultSet> resultSet = new AtomicReference<>(); public PhoenixVariantAnnotationWritable(final List<Object> orderedValues) { this.orderedValues = orderedValues; } @Override public void write(DataOutput dataOutput) throws IOException { // do nothing } @Override public void readFields(DataInput dataInput) throws IOException { // do nothing } @Override public void write(PreparedStatement preparedStatement) throws SQLException { Integer i = 1; for (Object value : this.orderedValues) { preparedStatement.setObject(i++, value); } } @Override public void readFields(ResultSet resultSet) throws SQLException { this.resultSet.set(resultSet); } public ResultSet getResultSet() { return resultSet.get(); } }