From 4bd5223e6c01665b01d3856122b22b9c9d010445 Mon Sep 17 00:00:00 2001 From: Gavin King Date: Mon, 11 Nov 2024 10:15:30 +0100 Subject: [PATCH] use switch expression in ColumnDefinitions Signed-off-by: Gavin King --- .../schema/internal/ColumnDefinitions.java | 39 +++++++------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/ColumnDefinitions.java b/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/ColumnDefinitions.java index caff5a882f2b..72246eed6c4c 100644 --- a/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/ColumnDefinitions.java +++ b/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/ColumnDefinitions.java @@ -57,7 +57,7 @@ static boolean hasMatchingLength(Column column, ColumnInformation columnInformat return true; } else { - int sqlType = columnInformation.getTypeCode(); + final int sqlType = columnInformation.getTypeCode(); if ( isStringType( sqlType ) ) { final int actualLength = columnInformation.getColumnSize(); final Size size = column.getColumnSize( dialect, metadata ); @@ -91,14 +91,14 @@ static String getFullColumnDeclaration( Metadata metadata, Dialect dialect, SqlStringGenerationContext context) { - StringBuilder definition = new StringBuilder(); + final StringBuilder definition = new StringBuilder(); appendColumn( definition, column, table, metadata, dialect, context ); return definition.toString(); } static String getColumnDefinition(Column column, Metadata metadata, Dialect dialect) { - StringBuilder definition = new StringBuilder(); + final StringBuilder definition = new StringBuilder(); appendColumnDefinition( definition, column, metadata, dialect ); appendComment( definition, column, dialect ); return definition.toString(); @@ -235,28 +235,19 @@ private static String normalize(String typeName) { } else { final String lowercaseTypeName = typeName.toLowerCase(Locale.ROOT); - switch (lowercaseTypeName) { - case "int": - return "integer"; - case "character": - return "char"; - case "character varying": - return "varchar"; - case "binary varying": - return "varbinary"; - case "character large object": - return "clob"; - case "binary large object": - return "blob"; - case "interval second": - return "interval"; - case "double precision": - return "double"; + return switch ( lowercaseTypeName ) { + case "int" -> "integer"; + case "character" -> "char"; + case "character varying" -> "varchar"; + case "binary varying" -> "varbinary"; + case "character large object" -> "clob"; + case "binary large object" -> "blob"; + case "interval second" -> "interval"; + case "double precision" -> "double"; // todo: normalize DECIMAL to NUMERIC? // normalize REAL to FLOAT? - default: - return lowercaseTypeName; - } + default -> lowercaseTypeName; + }; } } @@ -265,7 +256,7 @@ private static String stripArgs(String typeExpression) { return null; } else { - int i = typeExpression.indexOf('('); + final int i = typeExpression.indexOf('('); return i>0 ? typeExpression.substring(0,i).trim() : typeExpression; } }