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}