[#6147] Let Queries extend Attachable

This commit is contained in:
lukaseder 2017-04-24 15:11:38 +02:00
parent cebe17c127
commit 8575bbbfc9
3 changed files with 27 additions and 4 deletions

View File

@ -8008,7 +8008,7 @@ public class DSL {
*/
@Support
public static Queries queries(Collection<? extends Query> queries) {
return new QueriesImpl(queries);
return new QueriesImpl(new DefaultConfiguration(), queries);
}

View File

@ -343,7 +343,7 @@ class ParserImpl implements Parser {
if (!ctx.done())
throw ctx.exception("Unexpected content after end of queries input");
return new QueriesImpl(result);
return new QueriesImpl(dsl.configuration(), result);
}
@Override

View File

@ -40,7 +40,9 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.stream.Stream;
import org.jooq.AttachableInternal;
import org.jooq.Clause;
import org.jooq.Configuration;
import org.jooq.Context;
import org.jooq.Queries;
import org.jooq.Query;
@ -48,7 +50,7 @@ import org.jooq.Query;
/**
* @author Lukas Eder
*/
final class QueriesImpl extends AbstractQueryPart implements Queries {
final class QueriesImpl extends AbstractQueryPart implements Queries, AttachableInternal {
/**
* Generated UID
@ -56,8 +58,10 @@ final class QueriesImpl extends AbstractQueryPart implements Queries {
private static final long serialVersionUID = 261452207127914269L;
private final Collection<? extends Query> queries;
private Configuration configuration;
QueriesImpl(Collection<? extends Query> queries) {
QueriesImpl(Configuration configuration, Collection<? extends Query> queries) {
this.configuration = configuration;
this.queries = queries;
}
@ -89,6 +93,25 @@ final class QueriesImpl extends AbstractQueryPart implements Queries {
}
// ------------------------------------------------------------------------
// Attachable API
// ------------------------------------------------------------------------
@Override
public final void attach(Configuration c) {
configuration = c;
}
@Override
public final void detach() {
attach(null);
}
@Override
public final Configuration configuration() {
return configuration;
}
// ------------------------------------------------------------------------
// QueryPart API
// ------------------------------------------------------------------------