Package org.hibernate.exception.spi
Class TemplatedViolatedConstraintNameExtracter
- java.lang.Object
-
- org.hibernate.exception.spi.TemplatedViolatedConstraintNameExtracter
-
- All Implemented Interfaces:
ViolatedConstraintNameExtracter
public abstract class TemplatedViolatedConstraintNameExtracter extends Object implements ViolatedConstraintNameExtracter
Knows how to extract a violated constraint name from an error message based on the fact that the constraint name is templated within the message.
-
-
Constructor Summary
Constructors Constructor Description TemplatedViolatedConstraintNameExtracter()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract String
doExtractConstraintName(SQLException sqle)
String
extractConstraintName(SQLException sqle)
Extract the name of the violated constraint from the given SQLException.protected String
extractUsingTemplate(String templateStart, String templateEnd, String message)
Extracts the constraint name based on a template (i.e., templateStartconstraintNametemplateEnd).
-
-
-
Method Detail
-
extractConstraintName
public String extractConstraintName(SQLException sqle)
Description copied from interface:ViolatedConstraintNameExtracter
Extract the name of the violated constraint from the given SQLException.- Specified by:
extractConstraintName
in interfaceViolatedConstraintNameExtracter
- Parameters:
sqle
- The exception that was the result of the constraint violation.- Returns:
- The extracted constraint name.
-
doExtractConstraintName
protected abstract String doExtractConstraintName(SQLException sqle) throws NumberFormatException
- Throws:
NumberFormatException
-
extractUsingTemplate
protected String extractUsingTemplate(String templateStart, String templateEnd, String message)
Extracts the constraint name based on a template (i.e., templateStartconstraintNametemplateEnd).- Parameters:
templateStart
- The pattern denoting the start of the constraint name within the message.templateEnd
- The pattern denoting the end of the constraint name within the message.message
- The templated error message containing the constraint name.- Returns:
- The found constraint name, or null.
-
-