From b47049f89208ffe672585d50bde10d94c1736ad5 Mon Sep 17 00:00:00 2001 From: marko-bekhta Date: Mon, 2 Jan 2023 11:08:05 +0100 Subject: [PATCH] HHH-15962 Provide simple default impl for new members of `SchemaManagementTool` interface - make both `getSchemaTruncator/buildGenerationTargets` as default methods throwing `UnsupportedOperationException` --- .../tool/schema/spi/SchemaManagementTool.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/tool/schema/spi/SchemaManagementTool.java b/hibernate-core/src/main/java/org/hibernate/tool/schema/spi/SchemaManagementTool.java index 86df9c6a43a5..2b751875fe08 100644 --- a/hibernate-core/src/main/java/org/hibernate/tool/schema/spi/SchemaManagementTool.java +++ b/hibernate-core/src/main/java/org/hibernate/tool/schema/spi/SchemaManagementTool.java @@ -24,7 +24,9 @@ public interface SchemaManagementTool extends Service { SchemaDropper getSchemaDropper(Map options); SchemaMigrator getSchemaMigrator(Map options); SchemaValidator getSchemaValidator(Map options); - SchemaTruncator getSchemaTruncator(Map options); + default SchemaTruncator getSchemaTruncator(Map options) { + throw new UnsupportedOperationException("Schema truncator is not supported by this schema management tool."); + } /** * This allows to set an alternative implementation for the Database @@ -41,9 +43,11 @@ public interface SchemaManagementTool extends Service { * Resolves the {@linkplain GenerationTarget targets} to which to * send the DDL commands based on configuration */ - GenerationTarget[] buildGenerationTargets( + default GenerationTarget[] buildGenerationTargets( TargetDescriptor targetDescriptor, JdbcContext jdbcContext, Map options, - boolean needsAutoCommit); + boolean needsAutoCommit) { + throw new UnsupportedOperationException("Building generation targets is not supported by this schema management tool."); + } }