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; 007import de.bytefish.pgbulkinsert.pgsql.converter.LocalTimeConverter; 008 009import java.io.DataOutputStream; 010import java.time.LocalDate; 011import java.time.LocalTime; 012 013public class LocalTimeValueHandler extends BaseValueHandler<LocalTime> { 014 015 private IValueConverter<LocalTime, Long> timeConverter; 016 017 public LocalTimeValueHandler() { 018 this(new LocalTimeConverter()); 019 } 020 021 public LocalTimeValueHandler(IValueConverter<LocalTime, Long> timeConverter) { 022 this.timeConverter = timeConverter; 023 } 024 025 @Override 026 protected void internalHandle(DataOutputStream buffer, final LocalTime value) throws Exception { 027 buffer.writeInt(8); 028 buffer.writeLong(timeConverter.convert(value)); 029 } 030 031 @Override 032 public int getLength(LocalTime value) { 033 return 8; 034 } 035}