org.hibernate.mapping
Class Constraint

java.lang.Object
  extended by org.hibernate.mapping.Constraint
All Implemented Interfaces:
Serializable, RelationalModel
Direct Known Subclasses:
ForeignKey, PrimaryKey, UniqueKey

public abstract class Constraint
extends Object
implements RelationalModel, Serializable

A relational constraint.

See Also:
Serialized Form

Constructor Summary
Constraint()
           
 
Method Summary
 void addColumn(Column column)
           
 void addColumns(Iterator columnIterator)
           
 Iterator columnIterator()
           
 boolean containsColumn(Column column)
           
abstract  String generatedConstraintNamePrefix()
           
static String generateName(String prefix, Table table, Column... columns)
          If a constraint is not explicitly named, this is called to generate a unique hash using the table and column names.
static String generateName(String prefix, Table table, List<Column> columns)
          Helper method for generateName(String, Table, Column...).
 Column getColumn(int i)
           
 Iterator getColumnIterator()
           
 List getColumns()
           
 int getColumnSpan()
           
 String getName()
           
 Table getTable()
           
static String hashedName(String s)
          Hash a constraint name using MD5.
 boolean isGenerated(Dialect dialect)
           
 void setName(String name)
           
 void setTable(Table table)
           
abstract  String sqlConstraintString(Dialect d, String constraintName, String defaultCatalog, String defaultSchema)
           
 String sqlCreateString(Dialect dialect, Mapping p, String defaultCatalog, String defaultSchema)
           
 String sqlDropString(Dialect dialect, String defaultCatalog, String defaultSchema)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Constraint

public Constraint()
Method Detail

getName

public String getName()

setName

public void setName(String name)

generateName

public static String generateName(String prefix,
                                  Table table,
                                  Column... columns)
If a constraint is not explicitly named, this is called to generate a unique hash using the table and column names. Static so the name can be generated prior to creating the Constraint. They're cached, keyed by name, in multiple locations.

Parameters:
prefix - Appended to the beginning of the generated name
table -
columns -
Returns:
String The generated name

generateName

public static String generateName(String prefix,
                                  Table table,
                                  List<Column> columns)
Helper method for generateName(String, Table, Column...).

Parameters:
prefix - Appended to the beginning of the generated name
table -
columns -
Returns:
String The generated name

hashedName

public static String hashedName(String s)
Hash a constraint name using MD5. Convert the MD5 digest to base 35 (full alphanumeric), guaranteeing that the length of the name will always be smaller than the 30 character identifier restriction enforced by a few dialects.

Parameters:
s - The name to be hashed.
Returns:
String The hased name.

getColumnIterator

public Iterator getColumnIterator()

addColumn

public void addColumn(Column column)

addColumns

public void addColumns(Iterator columnIterator)

containsColumn

public boolean containsColumn(Column column)
Parameters:
column -
Returns:
true if this constraint already contains a column with same name.

getColumnSpan

public int getColumnSpan()

getColumn

public Column getColumn(int i)

columnIterator

public Iterator columnIterator()

getTable

public Table getTable()

setTable

public void setTable(Table table)

isGenerated

public boolean isGenerated(Dialect dialect)

sqlDropString

public String sqlDropString(Dialect dialect,
                            String defaultCatalog,
                            String defaultSchema)
Specified by:
sqlDropString in interface RelationalModel

sqlCreateString

public String sqlCreateString(Dialect dialect,
                              Mapping p,
                              String defaultCatalog,
                              String defaultSchema)
Specified by:
sqlCreateString in interface RelationalModel

getColumns

public List getColumns()

sqlConstraintString

public abstract String sqlConstraintString(Dialect d,
                                           String constraintName,
                                           String defaultCatalog,
                                           String defaultSchema)

toString

public String toString()
Overrides:
toString in class Object

generatedConstraintNamePrefix

public abstract String generatedConstraintNamePrefix()
Returns:
String The prefix to use in generated constraint names. Examples: "UK_", "FK_", and "PK_".


Copyright © 2001-2015 Red Hat, Inc. All Rights Reserved.