org.sormula.translator
Class ExpandedNameTranslator

java.lang.Object
  extended by org.sormula.translator.ExpandedNameTranslator
All Implemented Interfaces:
NameTranslator

public class ExpandedNameTranslator
extends java.lang.Object
implements NameTranslator

Converts name from CamelCase (mixed case) to a SQL name that is case insensitive with a delimiter between each word. For example:

Since:
1.8 and 2.2
Author:
Jeff Miller

Constructor Summary
ExpandedNameTranslator()
          Constructs for a default word delimiter of "_".
 
Method Summary
 java.lang.String getWordDelimiter()
          Gets the delimiter to use between words in sql names.
 void setWordDelimiter(java.lang.String wordDelimiter)
          Sets delimiter between words in sql names.
 java.lang.String translate(java.lang.String camelCaseName, 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

ExpandedNameTranslator

public ExpandedNameTranslator()
Constructs for a default word delimiter of "_".

Method Detail

translate

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

Specified by:
translate in interface NameTranslator
Parameters:
camelCaseName - 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

getWordDelimiter

public java.lang.String getWordDelimiter()
Gets the delimiter to use between words in sql names.

Returns:
string to insert between each word; default is "_"

setWordDelimiter

public void setWordDelimiter(java.lang.String wordDelimiter)
Sets delimiter between words in sql names.

Parameters:
wordDelimiter - String to appear between words