org.springframework.data.relational.core.sql

## Interface IdentifierProcessing

    public interface IdentifierProcessing

An interface describing the processing steps for the conversion of `SqlIdentifier` to SQL snippets or column names.

Since:
  2.0
Author:
  Jens Schauder

### Nested Class Summary

Nested Classes
`static class` `IdentifierProcessing.LetterCasing` Encapsulates the three kinds of letter casing supported.
`static class` `IdentifierProcessing.Quoting` A conversion from unquoted identifiers to quoted identifiers.

### Field Summary

Fields
`static IdentifierProcessing` `ANSI` An `IdentifierProcessing` that can be used for databases adhering to the SQL standard which uses double quotes (") for quoting and makes unquoted literals equivalent to upper case.
`static IdentifierProcessing` `NONE` An `IdentifierProcessing` without applying transformations.

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Default Methods
`static org.springframework.data.relational.core.sql.DefaultIdentifierProcessing` `create(IdentifierProcessing.Quoting quoting, IdentifierProcessing.LetterCasing letterCasing)` Create a `IdentifierProcessing` rule given `IdentifierProcessing.Quoting` and `IdentifierProcessing.LetterCasing` rules.
`String` `quote(String identifier)` Converts a `String` representing a bare name of an identifier to a `String` with proper quoting applied.
`String` `standardizeLetterCase(String identifier)` Standardizes the use of upper and lower case letters in an identifier in such a way that semantically the same identifier results from the quoted and the unquoted version.

### Field Detail

#### ANSI

    static final IdentifierProcessing ANSI

An `IdentifierProcessing` that can be used for databases adhering to the SQL standard which uses double quotes (") for quoting and makes unquoted literals equivalent to upper case.

#### NONE

    static final IdentifierProcessing NONE

An `IdentifierProcessing` without applying transformations.

### Method Detail

#### create

    static org.springframework.data.relational.core.sql.DefaultIdentifierProcessing create(IdentifierProcessing.Quoting quoting,
                                                                                           IdentifierProcessing.LetterCasing letterCasing)

Create a `IdentifierProcessing` rule given `IdentifierProcessing.Quoting` and `IdentifierProcessing.LetterCasing` rules.

Parameters:
  `quoting` - quoting rules.
  `letterCasing` - `IdentifierProcessing.LetterCasing` rules for identifier normalization.
Returns:
  a new `IdentifierProcessing` object.

#### quote

    String quote(String identifier)

Converts a `String` representing a bare name of an identifier to a `String` with proper quoting applied.

Parameters:
  `identifier` - the name of an identifier. Must not be null.
Returns:
  a quoted name of an identifier. Guaranteed to be not null.

#### standardizeLetterCase

    String standardizeLetterCase(String identifier)

Standardizes the use of upper and lower case letters in an identifier in such a way that semantically the same identifier results from the quoted and the unquoted version. If this is not possible use of `IdentifierProcessing.LetterCasing.AS_IS` is recommended.

Parameters:
  `identifier` - an identifier with arbitrary upper and lower cases. must not be null.
Returns:
  an identifier with standardized use of upper and lower case letter. Guaranteed to be not null.