001// Licensed under the MIT license. See LICENSE file in the project root for full license information.
002
003package de.bytefish.pgbulkinsert.model;
004
005import java.util.function.BiConsumer;
006
007import de.bytefish.pgbulkinsert.pgsql.PgBinaryWriter;
008
009public class ColumnDefinition<TEntity>
010{
011    private final String columnName;
012
013    private final BiConsumer<PgBinaryWriter, TEntity> write;
014
015    public ColumnDefinition(String columnName, BiConsumer<PgBinaryWriter, TEntity> write) {
016        this.columnName = columnName;
017        this.write = write;
018    }
019
020    public String getColumnName() {
021        return columnName;
022    }
023
024    public BiConsumer<PgBinaryWriter, TEntity> getWrite() {
025        return write;
026    }
027
028    @Override
029    public String toString()
030    {
031        return String.format("ColumnDefinition (ColumnName = {%1$s}, Serialize = {%2$s})", columnName, write);
032    }
033}