org.sormula.translator
Class DelimitedNameTranslator

java.lang.Object
  extended by org.sormula.translator.DelimitedNameTranslator
All Implemented Interfaces:
NameTranslator
Direct Known Subclasses:
Sql2003KeywordNameTranslator, Sql92KeywordNameTranslator, Sql99KeywordNameTranslator

public class DelimitedNameTranslator
extends java.lang.Object
implements NameTranslator

Converts name to name surrounded with delimiters. For example:

Delimiters can be set with setOpeningDelimiter(String) and setClosingDelimiter(String). They are double quotes by default.

Case is preserved. Use UpperCaseNameTranslator or LowerCaseNameTranslator in addition to this class to force a specific case. With most datatabases a delimited identifier is case-sensitive.

Since:
1.8 and 2.2
Author:
Jeff Miller

Constructor Summary
DelimitedNameTranslator()
          Constructs for default opening and closing delimiters of double quotes.
DelimitedNameTranslator(java.lang.String openingDelimiter, java.lang.String closingDelimiter)
           
 
Method Summary
 java.lang.String getClosingDelimiter()
          Gets the closing delimiter.
 java.lang.String getOpeningDelimiter()
          Gets the opening delimiter.
 void setClosingDelimiter(java.lang.String closingDelimiter)
          Sets the closing delimiter.
 void setOpeningDelimiter(java.lang.String openingDelimiter)
          Sets the opening delimiter.
 java.lang.String translate(java.lang.String name, java.lang.Class rowClass)
          Provides SQL name for corresponding name
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DelimitedNameTranslator

public DelimitedNameTranslator()
Constructs for default opening and closing delimiters of double quotes.


DelimitedNameTranslator

public DelimitedNameTranslator(java.lang.String openingDelimiter,
                               java.lang.String closingDelimiter)
Method Detail

translate

public java.lang.String translate(java.lang.String name,
                                  java.lang.Class rowClass)
Provides SQL name for corresponding name

Specified by:
translate in interface NameTranslator
Parameters:
name - name to convert (for example, Java class or member name)
rowClass - class for row objects (not parameterized so that NameTranslator may be used in annotations)
Returns:
SQL name that is derived from name

getOpeningDelimiter

public java.lang.String getOpeningDelimiter()
Gets the opening delimiter.

Returns:
string to preceed name

setOpeningDelimiter

public void setOpeningDelimiter(java.lang.String openingDelimiter)
Sets the opening delimiter.

Parameters:
openingDelimiter - string to preceed name

getClosingDelimiter

public java.lang.String getClosingDelimiter()
Gets the closing delimiter.

Returns:
string to follow name

setClosingDelimiter

public void setClosingDelimiter(java.lang.String closingDelimiter)
Sets the closing delimiter.

Parameters:
closingDelimiter - string to follow name