2 * This file is part of yosql. It is subject to the license terms in the LICENSE file found in the top-level
3 * directory of this distribution and at https://creativecommons.org/publicdomain/zero/1.0/. No part of yosql,
4 * including this file, may be copied, modified, propagated, or distributed except according to the terms contained
7 package wtf
.metio
.yosql
.codegen
.dao
;
9 import wtf
.metio
.yosql
.models
.immutables
.PackagedTypeSpec
;
10 import wtf
.metio
.yosql
.models
.immutables
.SqlStatement
;
12 import java
.util
.List
;
13 import java
.util
.stream
.Stream
;
16 * Generates converter related classes.
18 public interface ConverterGenerator
{
21 * Creates converter related classes based on a number of {@link SqlStatement}s.
23 * @param statements The statements to use.
24 * @return A stream of type specifications and their target package.
26 Stream
<PackagedTypeSpec
> generateConverterClasses(List
<SqlStatement
> statements
);