org.sormula.translator
Class PrimaryKeyWhereTranslator<R>

java.lang.Object
  extended by org.sormula.translator.ColumnsTranslator<R>
      extended by org.sormula.translator.AbstractWhereTranslator<R>
          extended by org.sormula.translator.PrimaryKeyWhereTranslator<R>
Type Parameters:
R - row class

public class PrimaryKeyWhereTranslator<R>
extends AbstractWhereTranslator<R>

Translates values from row object to JDBC parameters for a where condition as defined by Column.primaryKey() or Column.identity() annotations.

Since:
1.0
Author:
Jeff Miller

Constructor Summary
PrimaryKeyWhereTranslator(RowTranslator<R> rowTranslator)
          Constructs based upon a row translator.
 
Method Summary
protected  void addColumnTranslator(java.lang.reflect.Field f, java.lang.String annotationName)
          Adds a ColumnTranslator for a field.
 
Methods inherited from class org.sormula.translator.AbstractWhereTranslator
addColumnTranslator, addColumnTranslator, addColumnTranslator, createColumnParameterPhrase, createSql, getParameters, getRowTranslator, initColumnTranslatorList, isCollectionOperand, isInOperator, isInOperator, setParameters
 
Methods inherited from class org.sormula.translator.ColumnsTranslator
createColumnPhrase, createParameterPhrase, getColumnTranslator, getColumnTranslatorList, getRowClass, isIncludeIdentityColumns, read, setIncludeIdentityColumns, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PrimaryKeyWhereTranslator

public PrimaryKeyWhereTranslator(RowTranslator<R> rowTranslator)
                          throws TranslatorException
Constructs based upon a row translator. If no Column annotation exists for row to indicate a primary key column, then the first declared field will be assumed to be primary key.

Parameters:
rowTranslator - obtain primary key information from this translator
Throws:
TranslatorException - if error
Method Detail

addColumnTranslator

protected void addColumnTranslator(java.lang.reflect.Field f,
                                   java.lang.String annotationName)
                            throws TranslatorException
Adds a ColumnTranslator for a field. Invoked by constructor.

Parameters:
f - add translator for this field
annotationName - annotation name to display in exception message
Throws:
TranslatorException - if no column translator exists for field