private static String quoteIfRequired(final String name, final boolean alwaysQuoteNames, final char quoteChar) { if (StringUtil.detectQuoteChar(name) != 0) { return name; // already quoted } if (alwaysQuoteNames && quoteChar != 0) { return quoteChar + name + quoteChar; } return name; }
public DbEntityColumnDescriptor( final DbEntityDescriptor ded, final String columnName, final String fieldName, final Class fieldType, final boolean isId, final Class<? extends SqlType> sqlTypeClass) { this.dbEntityDescriptor = ded; this.propertyName = fieldName; this.propertyType = fieldType; this.isId = isId; this.sqlTypeClass = sqlTypeClass; this.columnNameForQuery = columnName; if (StringUtil.detectQuoteChar(columnNameForQuery) != 0) { this.columnName = StringUtil.substring(columnNameForQuery, 1, -1); } else { this.columnName = columnNameForQuery; } }
@Test void testDetectQuoteChar() { assertEquals(0, StringUtil.detectQuoteChar("")); assertEquals(0, StringUtil.detectQuoteChar("d")); assertEquals(0, StringUtil.detectQuoteChar("de")); assertEquals(0, StringUtil.detectQuoteChar("der")); assertEquals(0, StringUtil.detectQuoteChar("\"ded")); assertEquals(0, StringUtil.detectQuoteChar("de\"")); assertEquals(0, StringUtil.detectQuoteChar("\"")); assertEquals('"', StringUtil.detectQuoteChar("\"\"")); assertEquals('"', StringUtil.detectQuoteChar("\"test\"")); assertEquals('\'', StringUtil.detectQuoteChar("''")); assertEquals('\'', StringUtil.detectQuoteChar("'test'")); assertEquals('`', StringUtil.detectQuoteChar("``")); assertEquals('`', StringUtil.detectQuoteChar("`test`")); } }
public DbEntityDescriptor( final Class<E> type, final String schemaName, final TableNamingStrategy tableNamingStrategy, final ColumnNamingStrategy columnNamingStrategy) { this.type = type; this.entityName = type.getSimpleName(); this.isAnnotated = DbMetaUtil.resolveIsAnnotated(type); this.schemaName = DbMetaUtil.resolveSchemaName(type, schemaName); this.columnNamingStrategy = columnNamingStrategy; this.mappedTypes = DbMetaUtil.resolveMappedTypes(type); this.tableNameForQuery = DbMetaUtil.resolveTableName(type, tableNamingStrategy); if (StringUtil.detectQuoteChar(tableNameForQuery) != 0) { this.tableName = StringUtil.substring(tableNameForQuery, 1, -1); } else { this.tableName = tableNameForQuery; } }
private static String quoteIfRequired(final String name, final boolean alwaysQuoteNames, final char quoteChar) { if (StringUtil.detectQuoteChar(name) != 0) { return name; // already quoted } if (alwaysQuoteNames && quoteChar != 0) { return quoteChar + name + quoteChar; } return name; }
public DbEntityColumnDescriptor( final DbEntityDescriptor ded, final String columnName, final String fieldName, final Class fieldType, final boolean isId, final Class<? extends SqlType> sqlTypeClass) { this.dbEntityDescriptor = ded; this.propertyName = fieldName; this.propertyType = fieldType; this.isId = isId; this.sqlTypeClass = sqlTypeClass; this.columnNameForQuery = columnName; if (StringUtil.detectQuoteChar(columnNameForQuery) != 0) { this.columnName = StringUtil.substring(columnNameForQuery, 1, -1); } else { this.columnName = columnNameForQuery; } }
public DbEntityDescriptor( final Class<E> type, final String schemaName, final TableNamingStrategy tableNamingStrategy, final ColumnNamingStrategy columnNamingStrategy) { this.type = type; this.entityName = type.getSimpleName(); this.isAnnotated = DbMetaUtil.resolveIsAnnotated(type); this.schemaName = DbMetaUtil.resolveSchemaName(type, schemaName); this.columnNamingStrategy = columnNamingStrategy; this.mappedTypes = DbMetaUtil.resolveMappedTypes(type); this.tableNameForQuery = DbMetaUtil.resolveTableName(type, tableNamingStrategy); if (StringUtil.detectQuoteChar(tableNameForQuery) != 0) { this.tableName = StringUtil.substring(tableNameForQuery, 1, -1); } else { this.tableName = tableNameForQuery; } }