Package io.ebean.config
Class DbConstraintNaming
- java.lang.Object
-
- io.ebean.config.DbConstraintNaming
-
public class DbConstraintNaming extends Object
Naming convention used for constraint names.Note that these constraint names are trimmed in the PlatformDdl which can be overridden but provides a decent default implementation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
DbConstraintNaming.MaxLength
Defines how constraint names are shortened if required based on platform limitations.
-
Constructor Summary
Constructors Constructor Description DbConstraintNaming()
Construct using default of lower case for both table and column names.DbConstraintNaming(boolean lowerCase)
Construct specifying if lower case should be used (for both table and column names).DbConstraintNaming(boolean lowerCaseTableNames, boolean lowerCaseColumnNames)
Construct specifying if lower case should be used for both table and column names.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
checkConstraintName(String tableName, String columnName)
Return the check constraint name.String
foreignKeyConstraintName(String tableName, String columnName)
Return the foreign key constraint name given a single column foreign key.String
foreignKeyIndexName(String tableName, String column)
Return the index name associated with a foreign key constraint given a single column foreign key.String
foreignKeyIndexName(String tableName, String[] columns)
Return the index name associated with a foreign key constraint given multiple columns.DbConstraintNaming.MaxLength
getMaxLength()
Return the MaxLength implementation used to truncate/shorten db constraint names as necessary.String
indexName(String tableName, String column)
Return the index name for a general index (not associated with a foreign key).String
indexName(String tableName, String[] columns)
Return the index name for a general index (not associated with a foreign key).String
lowerColumnName(String name)
Lower case the column name checking for quoted identifiers.String
lowerTableName(String tableName)
Lower case the table name checking for quoted identifiers.String
normaliseColumn(String tableName)
Normalise the column name by removing any quoted identifier characters (",',[,] etc).String
normaliseTable(String tableName)
Normalise the table name by trimming catalog and schema and removing any quoted identifier characters (",',[,] etc).String
primaryKeyName(String tableName)
Return the primary key constraint name.void
setMaxLength(DbConstraintNaming.MaxLength maxLength)
Set the MaxLength implementation used to truncate/shorten db constraint names as necessary.String
uniqueConstraintName(String tableName, String columnName)
Return the unique constraint name.String
uniqueConstraintName(String tableName, String[] columns)
Return the unique constraint name.
-
-
-
Constructor Detail
-
DbConstraintNaming
public DbConstraintNaming()
Construct using default of lower case for both table and column names.
-
DbConstraintNaming
public DbConstraintNaming(boolean lowerCase)
Construct specifying if lower case should be used (for both table and column names).
-
DbConstraintNaming
public DbConstraintNaming(boolean lowerCaseTableNames, boolean lowerCaseColumnNames)
Construct specifying if lower case should be used for both table and column names.
-
-
Method Detail
-
getMaxLength
public DbConstraintNaming.MaxLength getMaxLength()
Return the MaxLength implementation used to truncate/shorten db constraint names as necessary.
-
setMaxLength
public void setMaxLength(DbConstraintNaming.MaxLength maxLength)
Set the MaxLength implementation used to truncate/shorten db constraint names as necessary.
-
primaryKeyName
public String primaryKeyName(String tableName)
Return the primary key constraint name.
-
foreignKeyConstraintName
public String foreignKeyConstraintName(String tableName, String columnName)
Return the foreign key constraint name given a single column foreign key.
-
foreignKeyIndexName
public String foreignKeyIndexName(String tableName, String[] columns)
Return the index name associated with a foreign key constraint given multiple columns.
-
foreignKeyIndexName
public String foreignKeyIndexName(String tableName, String column)
Return the index name associated with a foreign key constraint given a single column foreign key.
-
indexName
public String indexName(String tableName, String column)
Return the index name for a general index (not associated with a foreign key).
-
indexName
public String indexName(String tableName, String[] columns)
Return the index name for a general index (not associated with a foreign key).
-
uniqueConstraintName
public String uniqueConstraintName(String tableName, String columnName)
Return the unique constraint name.
-
uniqueConstraintName
public String uniqueConstraintName(String tableName, String[] columns)
Return the unique constraint name.
-
checkConstraintName
public String checkConstraintName(String tableName, String columnName)
Return the check constraint name.
-
normaliseTable
public String normaliseTable(String tableName)
Normalise the table name by trimming catalog and schema and removing any quoted identifier characters (",',[,] etc).
-
normaliseColumn
public String normaliseColumn(String tableName)
Normalise the column name by removing any quoted identifier characters (",',[,] etc).
-
lowerTableName
public String lowerTableName(String tableName)
Lower case the table name checking for quoted identifiers.
-
lowerColumnName
public String lowerColumnName(String name)
Lower case the column name checking for quoted identifiers.
-
-