From 83c5769168eba67046d06c84b440f37259a2ecf2 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Fri, 5 Aug 2016 14:55:57 +0200 Subject: [PATCH] [#5460] Convenience overloads --- jOOQ/src/main/java/org/jooq/DSLContext.java | 16 ++++++++++++++++ .../java/org/jooq/impl/DefaultDSLContext.java | 15 +++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/DSLContext.java b/jOOQ/src/main/java/org/jooq/DSLContext.java index ca7616f17d..d98f0060b7 100644 --- a/jOOQ/src/main/java/org/jooq/DSLContext.java +++ b/jOOQ/src/main/java/org/jooq/DSLContext.java @@ -215,6 +215,14 @@ public interface DSLContext extends Scope , AutoCloseable { */ InformationSchema informationSchema(Catalog catalog); + /** + * Export a set of catalogs to the {@link InformationSchema} format. + *

+ * This allows for serialising schema meta information as XML using JAXB. + * See also {@link Constants#XSD_META} for details. + */ + InformationSchema informationSchema(Catalog... catalogs); + /** * Export a schema to the {@link InformationSchema} format. *

@@ -223,6 +231,14 @@ public interface DSLContext extends Scope , AutoCloseable { */ InformationSchema informationSchema(Schema schema); + /** + * Export a set of schemas to the {@link InformationSchema} format. + *

+ * This allows for serialising schema meta information as XML using JAXB. + * See also {@link Constants#XSD_META} for details. + */ + InformationSchema informationSchema(Schema... schemas); + // ------------------------------------------------------------------------- // XXX APIs for creating scope for transactions, mocking, batching, etc. // ------------------------------------------------------------------------- diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java index e3d7b9efb6..018c2d79d6 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java @@ -383,11 +383,26 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri return informationSchema0(catalog.getSchemas()); } + @Override + public InformationSchema informationSchema(Catalog... catalogs) { + List schemas = new ArrayList(); + + for (Catalog catalog : catalogs) + schemas.addAll(catalog.getSchemas()); + + return informationSchema0(schemas); + } + @Override public InformationSchema informationSchema(Schema schema) { return informationSchema0(Arrays.asList(schema)); } + @Override + public InformationSchema informationSchema(Schema... schemas) { + return informationSchema0(Arrays.asList(schemas)); + } + private final InformationSchema informationSchema0(List schemas) { return InformationSchemaExport.export(configuration(), schemas); }