001// Licensed under the MIT license. See LICENSE file in the project root for full license information.
002
003package de.bytefish.pgbulkinsert.pgsql.handlers;
004
005import de.bytefish.pgbulkinsert.pgsql.converter.IValueConverter;
006import de.bytefish.pgbulkinsert.pgsql.converter.LocalDateConverter;
007
008import java.io.DataOutputStream;
009import java.time.LocalDate;
010
011public class LocalDateValueHandler extends BaseValueHandler<LocalDate> {
012
013    private IValueConverter<LocalDate, Integer> dateConverter;
014
015    public LocalDateValueHandler() {
016        this(new LocalDateConverter());
017    }
018
019    public LocalDateValueHandler(IValueConverter<LocalDate, Integer> dateTimeConverter) {
020        this.dateConverter = dateTimeConverter;
021    }
022
023    @Override
024    protected void internalHandle(DataOutputStream buffer, final LocalDate value) throws Exception {
025        buffer.writeInt(4);
026        buffer.writeInt(dateConverter.convert(value));
027    }
028
029    @Override
030    public int getLength(LocalDate value) {
031        return 4;
032    }
033}